サーブレットからサーブレットに値を受け渡しについて
解決したいこと
JSPファイルから追加機能の実装をしています。
・JSPファイル:formからID,procuts,priceの3つのカラムを追加する処理を実装しています。
・サーブレットA:リクエストされたカラムを追加する
・サーブレットB:追加する前にエラーチェック(空白除去、全角チェック)
以下の流れで実装を考えています。
JSP→サーブレットA→サーブレットB→サーブレットA→JSP
この際に
サーブレットA→サーブレットB→サーブレットA
この値の受け渡しが理解できていないというかweb検索やテキストを呼んでも値の受け渡しができません。
サーブレットA.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//formから値を取得する
String ID = request.getParameter("ID");
String procuts = request.getParameter("procuts");
String price = request.getParameter("price");
//conはグローバル化させている?
ServletContext con = this.getServletContext();
//conに属性と値をセットしてあげる
con.setAttribute("ID", ID);
con.setAttribute("procuts", procuts);
con.setAttribute("price", price);
//サーブレットBにcon(値)リクエストする
RequestDispatcher error_check = con.getRequestDispatcher("/サーブレットB");
//サーブレットBで処理したものをレスポンスする。
error_check.include(request, response);
サーブレットB.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
//サーブレットAから値を取得する
ServletContext con = this.getServletContext();
String ID = (String)con.getAttribute("ID");
String procuts = (String)con.getAttribute("procuts");
String price = (String)con.getAttribute("price");
//空白除去
ID = ID.replaceAll(" +|\\s+", "");
procuts = procuts.replaceAll(" +|\\s+", "");
price = price.replaceAll(" +|\\s+", "");
//値をサーブレットAにレスポンスしたいがどう返すかわからない
このような感じでなかなか理解が乏しく実装できておりません。
どなたかご教授お願いいたします。
0