servlet的生命周期与一个小的例子

来源:互联网 发布:广电机顶盒网络设置 编辑:程序博客网 时间:2024/06/05 20:46

我刚开始觉得,这个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>
 

原创粉丝点击