※ ChatGPTを利用し、要約された質問です(原文:jsp、サーブレットの質問です。)
jsp、サーブレットの質問です。
このQ&Aのポイント
jspとサーブレットを使用してスレッドサイトの投稿機能を実装していますが、INSERT文がうまく動作しません。
jspで入力された値をサーブレットに受け渡し、サーブレットでDB処理を行いたいと考えています。
INSERT文を見直す必要があるかどうか、またTomcatでの動作についても教えてください。
スレッドサイトの投稿の部分の記述でうまくINSERTされません。
jpsで受け取った値をサーブレットにもっていきサーブレットでDB処理を行います。
■jspファイルです
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="java.sql.* "%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<form method = "POST" action="/Web/thread">
<table border="2">
<tr>
<td>タイトル</td>
<td> <input type="text"name = "title" size="30" maxlength="30"value=""></td>
</tr>
<tr>
<td>本文</td>
<td><textarea name="text" rows="10" cols="50"></textarea></td>
</tr>
</table>
<input type="submit" value="作成" />
</form>
</body>
</html>
■サーブレットファイルです。
public class Thread extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//入力された値
String title = request.getParameter("title");
String text= request.getParameter("text");
Connection con = null;
PreparedStatement ps = null;
String url = "jdbc:mysql://localhost/web";
String user = "user";
String password = "pass";
String ins = "INSERT INTO thredlist(title,text)VALUES(?,?)";
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url, user, password);
ps = (PreparedStatement) con.prepareStatement(ins);
ps.setString(1,title);
ps.setString(2,text);
//INSERT実行
int i = ps.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}finally{
con.close();
}
}
}
■DBの中身は画像を参照してくださいっ
INSERT文を見直した方がよいのでしょうか?
あとTomcatでやっています!