我刚开始觉得,这个servlet肯定很难吧,其实,静下心来慢慢去看的时候就觉得不难了,好好看,像小凯说的:一切都会好的……
其实,用myeclipse新建servlet的时候,所有的工作就都为我们做好了,我们只需要在其中写代码就可以了。下面记录一下servlet的生命周期:
1、初始化:一般,第一次使用的时候,即第一次开启服务器后执行servlet,会进行初始化,进而执行init()的代码。
2、调用doGet(),doPost()等,是在用户进行请求操作的时候执行其中的代码。
其中,doGet()处理表单和地址栏中的请求。
doPost()处理表单请求。
3、销毁:当服务器关闭或者是servlet长时间不使用。
下面用一个简单的用户提交表单内容来说明执行的过程:
首先是AccepteUserRegist.java 代码。用来接收jsp页面中传递过来的信息并输出。
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AccepteUserRegist extends HttpServlet {
public AccepteUserRegist() {
super();
}
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 destroy() {
super.destroy(); // Just puts "destroy" string in log
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.01 Transitional//EN/">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>接收新用户注册</TITLE></HEAD>");
out.println(" <BODY>");
out.println("This is new register:");
out.println("用户名:"+codeToString(request.getParameter("username"))+"<br>");
out.println("密码是:"+codeToString(request.getParameter("passwd"))+"<br>");
out.println("性别是:"+codeToString(request.getParameter("sex"))+"<br>");
out.println("出生年月是:"+codeToString(request.getParameter("birthday"))+"<br>");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
}
Register.jsp代码:(就是一个form提交表单的命令)
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html>
<head>
<title>注册信息</title>
</head>
<body>
<form action="servlet/AccepteUserRegist" method="post" name="form1" onSubmit="return on_submit()">
您的姓名:<input name="username" type="text"><br>
您的密码:<input name="passwd" type="text"><br>
您的性别:<input name="sex" type="text"><br>
您的出生年月:<input name="birthday" type="text"><br>
<input name="" value="提交" type="submit">
</form>
</body>
</html>