JSP/Servlet編程

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章