1. 程式人生 > >JAVA WEB Servlet 基礎

JAVA WEB Servlet 基礎

一、實驗目的
理解Servlet的工作原理,掌握Servlet的應用開發方法;
掌握常見Servlet ;
二、實驗要求
1. 理解Servlet的應用。
2. 掌握Servlet的程式設計技術。
3. 熟練使用Eclipse開發Servlet應用
三、實驗內容
(一)用Servlet獲取表單資料

1. 建立一個Servlet檔案accept.java和一個register.jsp檔案,實現用Servlet實現獲取表單資料的功能。
♦ 程式功能:利用Servlet的方式實現表單資料的獲取。

accept.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class accept extends HttpServlet
{
public String codeToString(String str)
{//處理中文字串的函式
String s=str;
try
{
byte tempB[]=s.getBytes("ISO-8859-1");
s=new String(tempB);
return s;
}
catch(Exception e)
{
return s;
}
}
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
//設定mime
response.setContentType("text/html;charset=GB2312");
PrintWriter out=response.getWriter();
out.println("<HTML><head><title>接收新使用者註冊</title></head><BODY>");
out.println("這是新使用者註冊所提交的資料:<br>");
out.println("使用者名稱是:"+codeToString(request.getParameter("username"))+"<br>");
out.println("密碼是:"+codeToString(request.getParameter("userpassword"))+"<br>");
out.println("性別是:"+codeToString(request.getParameter("sex"))+"<br>");
out.println("出生年月是:"+request.getParameter("year")+request.getParameter("month")+request.getParameter("day")+"<br>");
out.println("電子郵箱是:"+request.getParameter("email")+"<br>");
out.println("家庭住址是:"+codeToString(request.getParameter("address"))+"<br>");
out.println("</body> </html>");
}
}

register.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<head>
<script language="javascript">
  function on_submit(){
    if(form1.username.value==""){
    	alert("使用者名稱不能為空,請輸入使用者名稱!");
    	form1.username.focus();
    	return flase;
    }
     if(form1.userpassword.value==""){
    	alert("使用者密碼不能為空,請輸入密碼!");
    	form1.username.focus();
    	return flase;
    }
     if(form1.reuseroassword.value==""){
    	alert("使用者密碼不能為空,請輸入密碼!");
    	form1.reuseroassword.focus();
    	return flase;
    }
    if(form1.userpassword.value!=form1.reuseroassword.value){
    	alert("密碼和確認密碼不一致!");
    	form1.uesrpassword.focus();
    	return flase;
    }
     if(form1.email.value!=0){
    	for(i=0;i<form1.email.value.length;i++){
    		if(form1.email.value.charAt(i)=="@")
    		   break;
    	}
    	if(i==form1.email.value.length){
    		alert("非法EMail地址");
    		form1.email.focus();
    		return flase;
    	}
    }
    else{
    	alert("請輸入EMail!");
    	form1.email.focus();
    	return false;
    }
  }
</script>
<title>新使用者註冊</title>
  </head>
  
  <body>
    <form method="POST" action="servlet/accept" name="form1" onsubmit="return on_submit()">
新使用者註冊<br>
使用者名稱(*):<input type="text" name="username" size="20"><br>
密&nbsp; 碼(*):<input type="password" name="userpassword" size="20"><br>
再輸一次密碼(*):<input type="password" name="reuserpassword" size="20"><br>
性別:<input type="radio" value="男" checked name="sex">男<input type="radio" name="sex" value="女">女<br>
出生年月:<input name="year" size="4" maxlength=4>年
<select name="month">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="8">7</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>月
<input name="day" size="3" maxlength=4>日<br>
電子郵箱(*):<input name="email" maxlength=28><br>
家庭住址:<input type="text" name="address" size="20"><br>
<input type="submit" value="提交" name="B1"><input type="reset" value="全部重寫" name="B2"><br>
</form>
</body>
</html>