2013年1月19日土曜日

JSPからのリクエスト内容をServletで取得する

■index.jsp
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP TEST</title>
    </head>
    <body>
        <form action="/JSP_Test/Parameters" method="GET"/>
            <p>
                <input type="text" name="firstname" value=""/>
                <input type="text" name="lastname" value=""/>
                <input type="submit" name="submit" value="送信"/>
            </p>
    </body>
</html>


■Parameters.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        /** 送信パラメータの文字コード設定 **/
        request.setCharacterEncoding("UTF-8");

        /** リクエストの値を変数にセット **/
        String firstName = request.getParameter("firstname");
        String lastName = request.getParameter("lastname");

        response.setContentType("text/html;charset=UTF-8");

        /** 結果を出力 **/
        PrintWriter out = response.getWriter();
        out.println("<html><body><dl>");
        out.println("<dt>First Name</dt>");
        out.println("<dd>"+firstName+"</dd>");
        out.println("<dt>Last Name</dt>");
        out.println("<dd>"+lastName+"</dd>");
        out.println("</dl></body></html>");
    }

/** servletにGETリスエストがあった時に処理が始まるメソッド **/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

■glassfish-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">

/** Parametersサーブレットクラスファイルの名前を定義する **/
  <servlet>
    <servlet-name>Parameters</servlet-name>
    <sevlet-class>Parameters</sevlet-class>
  </servlet>

/**  ParametersサーブレットクラスファイルのURLを定義する **/
  <servlet-mapping>
    <servlet-name>Parameters</servlet-name>
    <url-pattern>/Parameters</url-pattern>
  </servlet-mapping>

  <class-loader delegate="true"/>
  <jsp-config>
    <property name="keepgenerated" value="true">
      <description>Keep a copy of the generated servlet class' java code.</description>
    </property>
  </jsp-config>
</glassfish-web-app>

0 件のコメント:

コメントを投稿