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
本文介绍了一个简单的Java Web应用程序实现,包括用户输入个人信息并通过HttpSession传递数据到下一个页面的过程。示例使用了PersonalInfoCheckServlet来处理表单提交,并在result.jsp中显示处理后的结果。

被折叠的 条评论
为什么被折叠?



