欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Servlet内容概要

程序员文章站 2022-03-23 14:59:45
...

**

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携带大量数据,不可在显示栏显示,较安全。

第一次写,也没附上代码,以后还会分享自己的学习心得,大家可以多多交流。

相关标签: javaweb Servlet