1.在Tomcat中编写Servlet
1.1.自己定义类
1.2.继承Tomcat提供的一个规则HttpServlet
1.3.重写一个方法service
1.4.方法里有两个参数HttpServletRequest和HttpServletResponse
1.5.抛出两个异常ServletException和IOException
1.6.编写工程内的配置文件web.xml
----------------------
1.Servlet对象的管理机制
1.1.Servlet对象是单例的
1.2.采用生命周期托管的方式实现单例设计模式
1.3.Servlet对象是延迟加载的方式
1.4.Servlet对象有三个生命周期,体现如下
1.4.1.对象创建时 init() init(ServletConfig config)
1.4.2.对象使用时 service(HttpServletRequest req, HttpServletResponse resp)
1.4.3.对象回收时 destroy()
1.5.通过修改web.xml配置文件改变Servlet对象的加载方式,从默认延迟加载修改为立即加载
1.6.在Servlet对象创建时,通过配置携带信息,让Servlet对象读取,配置之后通过init(ServletConfig config)方法中进行读取
String value = config.getInitParameter("key");
Enumeration enu = config.getInitParameterNames();
String name = config.getServletName();
//全局上下文对象
ServletContext application = config.getServletContext();
1.7.Servlet类继承的关系
自己写一个类,继承HttpServlet,继承GenericServlet,实现Servlet, ServletConfig, Serializable
Servlet接口中含有五个方法
void init(ServletConfig var1) throws ServletException;
ServletConfig getServletConfig();
void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
String getServletInfo();
void destroy();
ServletConfig接口中含有五个方法
String getServletName();
ServletContext getServletContext();
String getInitParameter(String var1);
Enumeration<String> getInitParameterNames();
GenericServlet抽象类体现的是缺省适配器模式
将上述两个接口中的八个抽象方法进行实现,只留了service方法,让用户添加逻辑使用
添加两个独有方法
init() log()
HttpServlet体现了对于协议的具体化
将父类的service方法添加实现,目的是将两个跨协议的参数转化成HTTP协议
自己添加了独有的protected 修饰的sevice方法,参数是HttpServletRequest req, HttpServletResponse resp
添加独有方法的目的是通过请求发送的方式get/post,找寻对应具体的执行方法doGet/doPost
1.8.如何使用
自己写一个类,类名是XXXController
继承HttpServlet或继承GenericServlet或实现servlet接口
重写方法service或doGet/doPost
方法的参数是HttpServletRequest req, HttpServletResponse resp
方法的修饰符和返回值protected/public void
方法异常ServletException, IOException
工程的web文件夹中有WEB-INF文件夹
web.xml配置文件目的是请求与真实Controller的对应关系
浏览器发送请求,访问操作资源
404 没有找到资源
405 没有找到执行方法