質問内容
質問を評価する
(0ポイント)
|
現在Eclipseで入力フォームからMySQLにデータを登録したいとコードを作成しているのですが、INSERT文と入力フォームの紐付けがよくわかりません。
ServletにHTMLを書くのではなく、別にHTMLのファイルを作成したほうが良いのでしょうか?
一応コードとしては
Write.java
package jp.tuyano.framework;
import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
/** * Servlet implementation class HelloWorld */ @WebServlet("/Write") public class Write extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Write() { super(); // TODO Auto-generated constructor stub }
/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=Shift_JIS"); PrintWriter out = response.getWriter();
out.println("サンプル<br><br>"); out.println("<table>"); out.println("タイトル<br><br>"); out.println("<input type=\"text\" name=\"name\" size=\"50\">"); out.println("<br><br>"); out.println("名前:<br>"); out.println("<input type=\"text\" name=\"title\" size=\"50\">"); out.println("<br><br>"); out.println("本文:<br>"); out.println("<textarea name=\"message\"cols=\"40\" rows=\"10\"></textarea>"); out.println("<form action=\"HelloWorld\" method=\"POST\">"); out.println("<br><br>"); out.println("<input type=\"submit\" value=\"投稿\">"); out.println("</table>"); out.println("</form>"); out.println("</body></html>");
out.println("<p>");
Connection conn = null; String url = "jdbc:mysql://localhost/bbs"; String user = "root"; String password = "pass";
try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement(); String sql = "insert into bbs (title, name,message,year,time)" + " values ('\', \'\',\'\',\'\',\'\')"; stmt.execute(sql); ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ }
rs.close(); stmt.close(); }catch (ClassNotFoundException e){ out.println("ClassNotFoundException:" + e.getMessage()); }catch (SQLException e){ out.println("SQLException:" + e.getMessage()); }catch (Exception e){ out.println("Exception:" + e.getMessage()); }finally{ try{ if (conn != null){ conn.close(); } }catch (SQLException e){ out.println("SQLException:" + e.getMessage()); } }
out.println("</body>"); out.println("</html>"); } }
|