Servlet内容概要
**
javaweb
**
#servlet
基本构架
public class Servlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doPost(req, resp);
}
}
生命周期
Servlet由良好的生存期的定义,包括加载和实例初始化、处理请求以及服务结束。
生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。
Servlet被服务器实例化后,容器运行init方法,请求到达时运行service方法,自动派且运行时请求doGet或doPost方法,当服务器确定实例销毁时调用destory方法。
web容器加载servlet,生命周期开始,init初始化,service实现,前台请求doGet,后台doPost
结束destory。
forward和redirect的区别
forward是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;在服务器请求资源时,直接访问url,将响应内容读取,再发给浏览器,浏览器不知道服务器发送的内容是来自哪的,所以地址栏还是原来的地址。
redirect则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样从浏览器的地址栏中可以看到跳转后的链接地址。所以forward更加高效,两者都满足条件的情况下尽可能选择前者,并能隐藏链接。但想要跳转到其他服务器上的资源,则必须使用sendRedirect方法
doGet和doPost的调用时机
由提交方式则调用doGet方法;
method = “post” 则调用doPost方法
doGet携带有限数据,可在显示栏显示,方便查询,效率较高
doPost携带大量数据,不可在显示栏显示,较安全。
第一次写,也没附上代码,以后还会分享自己的学习心得,大家可以多多交流。
上一篇: JAVA中“...”三个点
下一篇: JAVA中“...”三个点是什么意思