Servlet执行过程

login.jsp

测试使用servlet
<form name="form1" action="loginServlet" method="post">
<input type="text" name="username">
<input type="button" value="提交" οnclick="document.form1.submit();">
<br/>
</form>

loginServlet.java

public void init(ServletConfig config) throws ServletException {
  // TODO Auto-generated method stub
  super.init(config);
  String num=config.getInitParameter("num");
  System.out.println("初始化数为:"+num);
 }

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  String username=request.getParameter("username");
  response.setCharacterEncoding("gb2312");
  System.out.println("getServletContext():"+getServletContext());
  ServletContext context=getServletConfig().getServletContext();
  String num=context.getInitParameter("num");// <init-param>
  String count=context.getInitParameter("count");//<context-param>
  System.out.println("num:"+num);//null
  System.out.println("count:"+count);//1200
  System.out.println("num:"+getServletConfig().getInitParameter("num"));//100
  System.out.println("count:"+getServletConfig().getInitParameter("count"));//null
  System.out.println("country:"+SysCode.getObj("country"));
  System.out.println("request.getSession().getServletContext():"+request.getSession().getServletContext());
  request.setAttribute("username", username);
  //PrintWriter out=response.getWriter();
  //out.println("获取的用户名是:"+username);
  
  /**
   * 重定向
   */
  
  //response.sendRedirect("
http://www.baidu.com");
  
  /**
   * 转发
   */
  RequestDispatcher rd=request.getRequestDispatcher("/targetServlet");//转发给另一个servlet
  //RequestDispatcher rd=request.getRequestDispatcher("success.jsp");//直接转发页面
  rd.forward(request, response);
 }

//执行初始化数据

initServlet.java

 public void init() throws ServletException {
  System.out.println("初始化开始......");
  System.out.println("SysCode.load()......");
  SysCode.load();
  System.out.println("初始化结束.......");
 }

注意:<load-on-startup>0</load-on-startup>

SysCode.java

 

public class SysCode {

 private static Properties p=new Properties();
 
 public static void load(){
  p.setProperty("country", "china");
  p.setProperty("city", "nanjing");
 }
 
 public static String getObj(String key){
  return p.getProperty(key);
 }
}

备注:

Servlet的生命周期分为5个阶段:
实例化:Servlet容器创建Servlet类的实例。
初始化:该容器调用init()方法,通常会申请资源。
服务:由容器调用service()方法,(也就是doGet()和doPost())。
破坏:在释放Servlet实例之前调用destroy()方法,通常会释放资源。
不可用:释放内存的实例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值