演習課題「レビューログ:新規レビュー機能を作ろう」
ここでは、マンガや動画などの感想を書き込むレビューログを作っています。
右の環境には、「myreview」というディレクトリに、Servlet・JSPを使用したWebアプリケーションの雛形が用意してあります。
このうちのNewServlet.javaとnew.jspを修正して、新規のレビュー記事を作成できるようにしてください。また、新規ログの作成後は、レビューの一覧画面にリダイレクトしてください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#11:新規メモを保存する
ここでは、新しいメモを保存する機能を作ります。新規メモの作成画面で、保存ボタンをクリックしたらデータベースに保存しましょう。
(tomcat/webapps/mymemo/CreateServlet.java)import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.sql.*;
public class CreateServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String title = request.getParameter("title");
String content = request.getParameter("content");
String url = "jdbc:mysql://localhost/memo";
String user = "root";
String password = "";
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
e.printStackTrace();
}
String sql = "INSERT INTO posts (title, content) VALUES (?, ?)";
try (Connection connection = DriverManager.getConnection(url, user, password);
PreparedStatement statment = connection.prepareStatement(sql)) {
statment.setString(1, title);
statment.setString(2, content);
int number = statment.executeUpdate();
request.setAttribute("message", "Successfully! Create post");
} catch (Exception e) {
request.setAttribute("message", "Execute exception:" + e.getMessage());
}
String forward = "/list";
RequestDispatcher dispatcher = request.getRequestDispatcher(forward);
dispatcher.forward(request, response);
}
}
- Javaの道>Servlet・JSP
https://www.javaroad.jp/servletjsp/index.html
- Servletアプリ開発:目次 - Web系開発メモ
http://web-dev.hatenablog.com/entry/java/servlet/dev-restful-app/table-of-contents