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()方法,通常会释放资源。
不可用:释放内存的实例。