■入力画面
1)formsample2.html→動的WEBプロジェクト(myweb)のwebContent内に置く
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" Content="text/html;charset=UTF-8">
<title>フォームサンプル</title>
</head>
<body>
<p>アンケート調査です</p>
<form action="/sample/RequestSample2" method="get">
<table>
<tr>
<td>氏名</td>
<td><input type="text" size="20" value="" name="name"></td>
</tr>
<tr>
<td>年齢</td>
<td><input type="text" size="5" value="" name="old"></td>
</tr>
<tr>
<td>好きな果物</td>
<td>
<select name="food" size="3" multiple>
<option value="りんご">りんご</option>
<option value="メロン">メロン</option>
<option value="ぶどう">ぶどう</option>
</select>
</td>
</tr>
</table>
<input type="submit" name="button1" value="送信">
</form>
</body>
</html>
■出力画面::RequestSample2.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class RequestSample2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
response.setContentType("text/html;charset=Shift_JIS");
PrintWriter out = response.getWriter();
String tmp;
String name = "";
tmp = request.getParameter("name");
if (tmp == null || tmp.length() == 0){
name = "未設定です";
}else{
name = decodeString(tmp);
}
int old;
tmp = request.getParameter("old");
if (tmp == null || tmp.length() == 0){
old = -1;
}else{
try{
old = Integer.parseInt(tmp);
}catch (NumberFormatException e){
old = -1;
}
}
String tmps[] = request.getParameterValues("food");
String food = "";
if (tmps != null){
for (int i = 0 ; i < tmps.length ; i++){
food += decodeString(tmps[i]);
food += " ";
}
}else{
food = "ありません";
}
StringBuffer sb = new StringBuffer();
sb.append("<html>");
sb.append("<head>");
sb.append("<title>サンプル</title>");
sb.append("</head>");
sb.append("<body>");
sb.append("<p>お名前は ");
sb.append(name);
sb.append(" です</p>");
sb.append("<p>年齢は ");
if (old == -1){
sb.append("未設定です</p>");
}else{
sb.append(old);
sb.append(" です</p>");
}
sb.append("<p>好きな果物は ");
sb.append(food);
sb.append("です</p>");
sb.append("</body>");
sb.append("</html>");
out.println(new String(sb));
out.close();
}
protected String decodeString(String str){
try {
byte[] byteData = str.getBytes("ISO_8859_1");
str = new String(byteData, "Shift_JIS");
}catch(UnsupportedEncodingException e){
return null;
}
return str;
}
}
※コメント投稿者のブログIDはブログ作成者のみに通知されます