PersonalInfoCheckServlet.java
package tmjf.chap03.sample01; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class PersonalInfoCheckServlet extends HttpServlet { public static final String RESULTURL = "/result.jsp"; protected void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { // 文字コードの設定 request.setCharacterEncoding( "Windows-31J" ); // 名前(=name)の取得 String name = request.getParameter( "name" ); // 性別(=sex)の取得 String sex = request.getParameter( "sex" ); String new_name; if( "male".equals( sex ) == true ){ new_name = "Mr." + name; }else{ new_name = "Ms." + name; } // 新しい(Mr./Ms.がついた)名前をAttributeで追加 request.setAttribute( "new_name", new_name ); // HttpSessionの作成 HttpSession session = request.getSession( true ); session.setAttribute( "prev_name", name ); // result.jspへ遷移 getServletConfig().getServletContext().getRequestDispatcher( RESULTURL ).forward( request, response ); } }
index.jsp
<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title></title> </head> <body> <% String prev_name; if( session != null ){ prev_name = (String)session.getAttribute( "prev_name" ); if( prev_name != null ){ %> <font color="red"> 以前、あなたはアクセスしたことがあります<br> </font> お久しぶりです <%= prev_name %> さん<br> <% } } %> <br> 名前、性別、年齢を入力してください。<br> <br> <form action="/Chap03/servlet/PersonalInfoCheck" method="POST"> 氏名: <input type="text" name="name"> <br> 性別: <br> <input type="radio" name="sex" value="male">男性 <br> <input type="radio" name="sex" value="female">女性 <br> 年齢: <input type="text" name="age"> <br> <input type="submit" value="submit"> </form> </body> </html>
result.jsp
<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title></title> </head> <body> あなたは、 <br> 氏名: <%= request.getParameter( "name" ) %> <br> 性別: <% String sex_string; if( "male".equals( request.getParameter( "sex" ) ) ){ sex_string = "男性"; }else{ sex_string = "女性"; } int age = Integer.parseInt(request.getParameter( "age" )); String drink; if( age >= 20 ){ drink = "あなたはお酒が飲めますね。"; }else{ drink = "あなたはお酒を飲んではいけません。"; } %> 性別: <%= sex_string %> <br> 年齢: <%= request.getParameter( "age" ) %>歳<br> <br> こんにちは <%= (String)request.getAttribute( "new_name" ) %> さん<br> <br> <%= drink %> <br> <a href="/Chap03/index.jsp">トップ</a>へ戻る。 </body> </html>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Chap03</display-name> <servlet> <servlet-name>Chap3SampleServlet</servlet-name> <servlet-class>tmjf.chap03.sample01.PersonalInfoCheckServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Chap3SampleServlet</servlet-name> <url-pattern>/servlet/PersonalInfoCheck</url-pattern> </servlet-mapping> </web-app>
代码来自日本的技术图书 :http://www.shuwasystem.co.jp/products/7980html/2197.html