■商品データ登録処理をJSP・サーブレット・Beanクラスで実装してみる *ファイルの構成 ・商品データ入力画面---product_touroku.html ・Bean---formBeans.Product.java ・サーブレット---ProductServlet.java(web.xmlにパス情報を登録) ・正常系表示画面---product_kakunin.jsp ・異常系表示画面---product_error.html @product_touroku.html 商品情報登録

商品データ登録画面


商品名
メーカ名
税込金額

AformBeans.Product.java package formBeans; import java.io.Serializable; public class Product implements Serializable{ private String name; private String maker; private int price; public Product(){ } public String getMaker() { return maker; } public String getName() { return name; } public int getPrice() { return price; } public void setMaker(String string) { maker = string; } public void setName(String string) { name = string; } public void setPrice(int i) { price = i; } } BProductServlet.java import java.io.*; import javax.servlet.http.*; import javax.servlet.*; import formBeans.Product; public class ProductServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletContext sc = null; try{ //文字コードの設定 request.setCharacterEncoding("Shift_JIS"); //フォーム入力データの取得 String name = request.getParameter("name"); String maker = request.getParameter("maker"); String price_string = request.getParameter("price"); //サーブレットコンテキストの取得 sc = this.getServletContext(); //入力データのチェックとリクエスト情報の転送振り分け //すべての項目が入力されているならば if( name.length()!=0 & maker.length()!=0 & price_string.length()!=0 ){ int price = Integer.parseInt(price_string); //金額が正の値ならば if( price > 0){ //Productオブジェクト(Bean)の作成 Product pd = new Product(); pd.setName(name); pd.setMaker(maker); pd.setPrice(price); //リクエスト情報に項目(属性名)とオブジェクトデータを新たに設定 request.setAttribute("pdinfo", pd); //入力データ確認画面へ転送する sc.getRequestDispatcher("/product_kakunin.jsp").forward(request, response); }else{//金額が0以下ならば //エラー画面へ転送する sc.getRequestDispatcher("/product_error.html").forward(request, response); } }else{//未入力項目があれば、エラー画面へ転送 sc.getRequestDispatcher("/product_error.html").forward(request, response); } }catch(Exception e){ //上記以外の例外の場合もエラー画面へ転送 e.printStackTrace(); sc.getRequestDispatcher("/product_error.html").forward(request, response); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } Cproduct_kakunin.jsp <%@ page contentType="text/html; charset=Shift_JIS" %> 入力データ(商品)確認画面

入力データ(商品)確認画面


Dproduct_error.html エラー発生
エラー! 入力データの内容を確認してください.
すべての項目を入力してください.

税込金額は正の整数を入力してください.
★web.xmlファイルに、サーブレット (ProductServlet)の配備情報を記述 productsrv ProductServlet productsrv /productsrv
商品名メーカー税込価格