Servlet基础
一、实验目的:
理解 Servlet 的工作原理,掌握 Servlet 的应用开发方法;
掌握常见 Servlet ;
二、实验环境:
MyEclipse10+Tomcat 7.0+Java EE 6.0
三、实验内容:
(一)用 Servlet 获取表单数据
1. 建立一个 Servlet 文件 accept.java 和一个 register.jsp 文件,实现用 Servlet 实现获取 表单数据的功能。
♦ 程序功能:利用 Servlet 的方式实现表单数据的获取。
register.jsp源代码:
//register.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>新用户注册</title>
<script>
function on_submit()
{
if(form1.username.value=="")
{
alert("用户名不能为空,请输入用户名!");
form1.username.focus();
return false;
}
if(form1.userpassword.value=="")
{
alert("用户密码不能为空,请输入密码!");
form1.userpassword.focus();
return false;
}
if(form1.reuserpassword.value=="")
{
alert("用户确认密码不能为空,请确认密码!");
form1.reuserpassword.focus();
return false;
}
if(form1.userpassword.value!=form1.reuserpassword.value)
{
alert("密码与确认密码不同");
form1.userpassword.focus();
return false;
}
if(form1.email.value.length!=0)
{
for(var i=0;i<form1.email.value.length;i++)
{
if(form1.email.value.charAt(i)=="@")
break;
}
if(i==form1.email.value.length)
{
alert("非法Email地址!");
form1.userpassword.focus();
return false;
}
}
else
{
alert("请输入email地址!");
form1.email.focus();
return false;
}
}
</script>
</head>
<body>
<form method="post" action="servlet/acceptUserRegist" name="form1" onsubmit="on_submit()">
<h1>新用户注册</h1><br>
<p>用户名(*):<input type="text" name="username" size="20"></p>
<p>密 码(*):<input type="password" name="userpassword" size="20"></p>
<p>确认密码(*):<input type="password" name="reuserpassword" size="20"></p>
<p>性别:<input type="radio" value="男" checked name="sex">男<input type="radio" name="sex" value="女">女</p>
<p>出生年月:<input name="year" size="4" maxlength=4>年
<select name="month">
<option value="1">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="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">12</option>
<option value="12">12</option>
</select>月
<input name="day" size="3" maxlength=4>日
</p>
<p>电子邮箱(*):<input name="email" maxlength=28></p>
<p>家庭住址:<input type="text" name="address" size="20"></p>
<input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2">
</form>
</body>
</html>
acceptUserRegist.java源代码:
//acceptUserRegist.java
package Servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class acceptUserRegist extends HttpServlet {
/**
* Constructor of the object.
*/
public acceptUserRegist() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
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 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>");
}
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
}
在web.xml中添加如下配置信息
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>acceptUserRegist</servlet-name>
<servlet-class>Servlet.acceptUserRegist</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>acceptUserRegist</servlet-name>
<url-pattern>/servlet/acceptUserRegist</url-pattern>
</servlet-mapping>
运行结果: