# servlet类
Servlet(两个实现类GenericServlet/HttpServlet)
|
GenericServlet(重写5个方法destroy()、init()、service()),重写无参数的init()方法
|
HttpServlet(继承GenericServlet,实现了Servlet接口) doGet()、doPost()
|
MyServlet(重写5个方法,并实现了Servlet接口)
问题:
为什么会有GenericServlet和HttpServlet类?
GenericServlet:配置文件 ServletConfig config -> this.config
HttpServlet:
service(ServletRequest ,Servletresponse)
向下强转,父类转子类ServletRequest -> HttpServletRequest、Servletresponse-> HttpServleresponse
service(HttpServletRequest,HttpServleresponse){
String method=req.getmethod()
doGet();
doPost();
}
开发步骤:
1、编写一个类,继承HttpServlet
2、重写doGet和doPost方法
在doPost方法中调用doGet方法
表单时get方式,调用doGet
表单是post方式,调用doPost
doGet和doPost相互调用
3、配置Web.xml
# servlet自动加载
* Servlet默认是第一次访问时候创建实例。通过配置,服务器启动,创建实例。
* init做初始化的操作,非常消耗时间的。
* 在<servlet>标签下
<load-on-startup>3</load-on-startup>
* 值是正整数
* 如果值越小,优先级越高。
# servlet模板加载
* 修改Servlet模板
* 先找到MyEclipse的安装路径。
* \myeclipse10.7\Common\plugins\com.genuitec.eclipse.wizards.xxxx.jar
* 我自己的:com.genuitec.eclipse.wizards_9.0.0.me201211011550.jar
* 千万别解压,右键--选择压缩工具打开--templates--Servlet.java
* 拖回去之前,先MyEclipse关闭。
servlet
原文:http://blog.51cto.com/f1yinsky/2052153