質問編集履歴

2

分かりづらいのを修正

2020/08/04 07:44

投稿

kaibasira
kaibasira

スコア15

test CHANGED
File without changes
test CHANGED
@@ -244,7 +244,7 @@
244
244
 
245
245
  コード
246
246
 
247
- ```sqlでデータベースを作りそれをjavaを使ってhtml上で検索するというシステムを作っています。
247
+ ```sqlでデータベースを作りそれをjavaを使ってweb上で検索するというシステムを作っています。
248
248
 
249
249
 
250
250
 

1

code機能をつかった

2020/08/04 07:43

投稿

kaibasira
kaibasira

スコア15

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,250 @@
1
+ ```
2
+
3
+ コード
4
+
5
+ // パッケージの指定
6
+
7
+ package movie;
8
+
9
+
10
+
11
+ import java.util.*;
12
+
13
+ import java.sql.*;
14
+
15
+
16
+
17
+ public class Model {
18
+
19
+ private String q;
20
+
21
+ private ArrayList<TitleListResult> results;
22
+
23
+ private Connection conn = null;
24
+
25
+ private PreparedStatement stmt = null;
26
+
27
+ private ResultSet resultSet = null;
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+ public void execute(){
36
+
37
+ System.out.println("Hello");
38
+
39
+
40
+
41
+ try {
42
+
43
+ conn = ConnectUtilMy.connectDatabase();
44
+
45
+ TitleListResult result = new TitleListResult();
46
+
47
+
48
+
49
+ // 住所の検索
50
+
51
+ PreparedStatement pstmt = conn.prepareStatement(
52
+
53
+ "SELECT title_name,years_publication,performance_income,production_cost,public_evaluation,screening_time,genre_name,original_name,cast_name,directed_name " +
54
+
55
+ "FROM movie inner join original_list on movie.original_number=original_list.original_number "+
56
+
57
+ "inner join genre_list on movie.genre_number=genre_list.genre_number "+
58
+
59
+ "inner join directed_list on movie.directed_number=directed_list.directed_number "+
60
+
61
+ "inner join cast_list on movie.cast_number=cast_list.cast_number where title_name like ? or directed_name like ?");
62
+
63
+ pstmt.setString(1, q + "%");
64
+
65
+ pstmt.setMaxRows(50);
66
+
67
+ ResultSet rs = pstmt.executeQuery();
68
+
69
+
70
+
71
+ // 検索結果の取得
72
+
73
+ results = new ArrayList<String[]>();
74
+
75
+ while (rs.next()) {
76
+
77
+ String[] result = new String[10];
78
+
79
+ result[0] = rs.getString("movie_number");
80
+
81
+ result[1] = rs.getString("years_publication");
82
+
83
+ result[2] = rs.getString("performance_income");
84
+
85
+ result[3] = rs.getString("production_cost");
86
+
87
+ result[4] = rs.getString("public_evaluation");
88
+
89
+ result[5] = rs.getString("screening_time");
90
+
91
+ result[6] = rs.getString("genre_number");
92
+
93
+ result[7] = rs.getString("directed_number");
94
+
95
+ result[8] = rs.getString("original_number");
96
+
97
+ result[9] = rs.getString("cast_number");
98
+
99
+
100
+
101
+ results.add(result);
102
+
103
+ }
104
+
105
+
106
+
107
+ // 切断
108
+
109
+ rs.close();
110
+
111
+ pstmt.close();
112
+
113
+ conn.close();
114
+
115
+ }
116
+
117
+ catch (Exception ex) {
118
+
119
+ ex.printStackTrace();
120
+
121
+ }
122
+
123
+ }
124
+
125
+
126
+
127
+ public ArrayList<TitleListResult> getResults() {
128
+
129
+ return results;
130
+
131
+ }
132
+
133
+
134
+
135
+ public void setQ(String q) {
136
+
137
+ this.q = q;
138
+
139
+ }
140
+
141
+ //この下が追加して書いたところです。
142
+
143
+     public void setC(String c) {
144
+
145
+ this.c = c;
146
+
147
+ }
148
+
149
+ }
150
+
151
+
152
+
153
+ ```
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+ ```そしてこちらがControlle.javaです
166
+
167
+
168
+
169
+
170
+
171
+ // パッケージの指定
172
+
173
+ package movie;
174
+
175
+
176
+
177
+ import java.util.*;
178
+
179
+ import java.io.*;
180
+
181
+ import javax.servlet.*;
182
+
183
+ import javax.servlet.http.*;
184
+
185
+ import javax.servlet.annotation.*;
186
+
187
+
188
+
189
+ // サーブレットの名前(ここでは,Controllerというクラス名)を指定する
190
+
191
+ @WebServlet(name = "Controller", urlPatterns = {"/Controller"})
192
+
193
+ public class Controller extends HttpServlet {
194
+
195
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
196
+
197
+ throws ServletException, IOException {
198
+
199
+
200
+
201
+ // view.jspで入力された検索キーkeyNumの値を取得する
202
+
203
+ String q = request.getParameter("keyNum");
204
+
205
+ q = new String(q.getBytes("8859_1"), "Windows-31J");
206
+
207
+
208
+
209
+ if (q != null) {
210
+
211
+ // Modelクラスのインスタンスを生成する
212
+
213
+ Model model = new Model();
214
+
215
+ // 検索キーを設定する
216
+
217
+ model.setQ(q);
218
+
219
+
220
+
221
+ // 検索を実行する
222
+
223
+ model.execute();
224
+
225
+ // 検索結果を取得する
226
+
227
+ ArrayList<String[]> results = model.getResults();
228
+
229
+ // view.jspに検索結果を渡す
230
+
231
+ request.setAttribute("results", results);
232
+
233
+ }
234
+
235
+
236
+
237
+ // view.jspに処理を転送する
238
+
239
+ getServletContext().getRequestDispatcher("/view.jsp").forward(request, response);
240
+
241
+ }
242
+
243
+ }
244
+
245
+ コード
246
+
1
- sqlでデータベースを作りそれをjavaを使ってhtml上で検索するというシステムを作っています。
247
+ ```sqlでデータベースを作りそれをjavaを使ってhtml上で検索するというシステムを作っています。
2
248
 
3
249
 
4
250
 
@@ -75,247 +321,3 @@
75
321
  一応すでに書いてある部分をマネしてみて追加してみたのですがこれ以外に何を書き込めば
76
322
 
77
323
  メソッドを作ったことになり呼び出せるのでしょうか?
78
-
79
-
80
-
81
- こちらがModel.javaです
82
-
83
-
84
-
85
- // パッケージの指定
86
-
87
- package movie;
88
-
89
-
90
-
91
- import java.util.*;
92
-
93
- import java.sql.*;
94
-
95
-
96
-
97
- public class Model {
98
-
99
- private String q;
100
-
101
- private ArrayList<TitleListResult> results;
102
-
103
- private Connection conn = null;
104
-
105
- private PreparedStatement stmt = null;
106
-
107
- private ResultSet resultSet = null;
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
- public void execute(){
116
-
117
- System.out.println("Hello");
118
-
119
-
120
-
121
- try {
122
-
123
- conn = ConnectUtilMy.connectDatabase();
124
-
125
- TitleListResult result = new TitleListResult();
126
-
127
-
128
-
129
- // 住所の検索
130
-
131
- PreparedStatement pstmt = conn.prepareStatement(
132
-
133
- "SELECT title_name,years_publication,performance_income,production_cost,public_evaluation,screening_time,genre_name,original_name,cast_name,directed_name " +
134
-
135
- "FROM movie inner join original_list on movie.original_number=original_list.original_number "+
136
-
137
- "inner join genre_list on movie.genre_number=genre_list.genre_number "+
138
-
139
- "inner join directed_list on movie.directed_number=directed_list.directed_number "+
140
-
141
- "inner join cast_list on movie.cast_number=cast_list.cast_number where title_name like ? or directed_name like ?");
142
-
143
- pstmt.setString(1, q + "%");
144
-
145
- pstmt.setMaxRows(50);
146
-
147
- ResultSet rs = pstmt.executeQuery();
148
-
149
-
150
-
151
- // 検索結果の取得
152
-
153
- results = new ArrayList<String[]>();
154
-
155
- while (rs.next()) {
156
-
157
- String[] result = new String[10];
158
-
159
- result[0] = rs.getString("movie_number");
160
-
161
- result[1] = rs.getString("years_publication");
162
-
163
- result[2] = rs.getString("performance_income");
164
-
165
- result[3] = rs.getString("production_cost");
166
-
167
- result[4] = rs.getString("public_evaluation");
168
-
169
- result[5] = rs.getString("screening_time");
170
-
171
- result[6] = rs.getString("genre_number");
172
-
173
- result[7] = rs.getString("directed_number");
174
-
175
- result[8] = rs.getString("original_number");
176
-
177
- result[9] = rs.getString("cast_number");
178
-
179
-
180
-
181
- results.add(result);
182
-
183
- }
184
-
185
-
186
-
187
- // 切断
188
-
189
- rs.close();
190
-
191
- pstmt.close();
192
-
193
- conn.close();
194
-
195
- }
196
-
197
- catch (Exception ex) {
198
-
199
- ex.printStackTrace();
200
-
201
- }
202
-
203
- }
204
-
205
-
206
-
207
- public ArrayList<TitleListResult> getResults() {
208
-
209
- return results;
210
-
211
- }
212
-
213
-
214
-
215
- public void setQ(String q) {
216
-
217
- this.q = q;
218
-
219
- }
220
-
221
- //この下が追加して書いたところです。
222
-
223
-     public void setC(String c) {
224
-
225
- this.c = c;
226
-
227
- }
228
-
229
- }
230
-
231
-
232
-
233
-
234
-
235
-
236
-
237
-
238
-
239
-
240
-
241
-
242
-
243
- そしてこちらがControlle.javaです
244
-
245
-
246
-
247
-
248
-
249
- // パッケージの指定
250
-
251
- package movie;
252
-
253
-
254
-
255
- import java.util.*;
256
-
257
- import java.io.*;
258
-
259
- import javax.servlet.*;
260
-
261
- import javax.servlet.http.*;
262
-
263
- import javax.servlet.annotation.*;
264
-
265
-
266
-
267
- // サーブレットの名前(ここでは,Controllerというクラス名)を指定する
268
-
269
- @WebServlet(name = "Controller", urlPatterns = {"/Controller"})
270
-
271
- public class Controller extends HttpServlet {
272
-
273
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
274
-
275
- throws ServletException, IOException {
276
-
277
-
278
-
279
- // view.jspで入力された検索キーkeyNumの値を取得する
280
-
281
- String q = request.getParameter("keyNum");
282
-
283
- q = new String(q.getBytes("8859_1"), "Windows-31J");
284
-
285
-
286
-
287
- if (q != null) {
288
-
289
- // Modelクラスのインスタンスを生成する
290
-
291
- Model model = new Model();
292
-
293
- // 検索キーを設定する
294
-
295
- model.setQ(q);
296
-
297
-
298
-
299
- // 検索を実行する
300
-
301
- model.execute();
302
-
303
- // 検索結果を取得する
304
-
305
- ArrayList<String[]> results = model.getResults();
306
-
307
- // view.jspに検索結果を渡す
308
-
309
- request.setAttribute("results", results);
310
-
311
- }
312
-
313
-
314
-
315
- // view.jspに処理を転送する
316
-
317
- getServletContext().getRequestDispatcher("/view.jsp").forward(request, response);
318
-
319
- }
320
-
321
- }