servlet的理解

servlet是什么。
Servlet是Java编写的服务器端程序。而这些Servlet都要实现Servlet这个接口。其主要的功能在于交互式地浏览和修改数据
生成动态web内容。Servlet运行于支持Java的应用服务器中。HttpServlet重写doGet和doPost方法或者重写service方法完成对get和post的请求响应。
servlet的生命周期
servlet有良好的生存期的定义。包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由Javax.servlet.Servlet接口的init,service和destroy方法表达。
Servlet启动时,开始加载servlet生命周期开始,Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁 的时候调用其destory方法。
简单说明
加载Servlet的class–>实例化Servlet—>调用Servlet的init方法完成初始化—>响应请求(Servlet的service方法)---->Servlet容器关闭时(Servlet的destory方法)

Servlet API中的forward() 和redirect()区别
1、forword是服务器端的转向。redirect是客户端的跳转
2、使用forword浏览器的地址不会发生改变,而使用redirect会发生改变。
3、forword是一次请求完成。而redirect是重新发起请求
4、forword是在服务器端完成,而不用客户端重新发起请求。效率较高。

JSP和Servlet的相同与不同
jsp是Servlet技术的扩展,所有的jsp文件都会被翻译为一个继承HttpServlet的类。也就是JSP最终也是一个servlet.这个Servlet对外提供服务。
Servlet和JSP最主要的不同点在于,Servlet如果要输出实现HTML的功能必须使用Writer输出对应的HTML而JSP的情况是Java和HTML可以组合成一个扩展名为jsp的文件,jsp侧重于展示做界面展示比较方便。嵌入逻辑比较复杂。Servlet主要用于控制逻辑。

猜你喜欢

转载自blog.csdn.net/lanselianyu/article/details/89473847