main method 作为入口,客户端本身也是服务端,运行结果往往是实时反馈的.
Servlet = Server + Applet ---- > 运行在服务器端java程序,Servlet运行在服务端的Java小程序,是sun公司提供一套规范,用来处理客户端请求、响应给浏览器的动态资源。servlet的本质上是java代码,通过java的API动态的向客户端输出内容.
直接去实现Servlet接口需要覆盖的方法太多,一般继承HttpServlet就够用了
默认第一次访问时创建 当该对象创建完毕后立即调用init方法 也可以通过配置让服务器一启动就创建Servlet对象, 例如 :
<load-on-startup>1</load-on-startup>
服务器关闭或从tomcat容器中将该项目移除
1)init(ServletConfig config) 2)service(ServletRequest request,ServletResponse response) 3)destroy()
1)init() 2)doGet(HttpServletRequest request,HttpServletResponse response) 3)doPost(HttpServletRequest request,HttpServletResponse response) 4)destroy()
三种配置方式:
示例:
/aaa/bbb/* --- 代表访问/aaa/bbb下的任何资源都匹配
示例:
*.abc
注意:第二种与第三种不能混合使用 例如:
/aaa/bbb/*.abc ---- 错误的
tomcat引擎负责创建servlet对象,创建完后引擎执行service(ServletRequest request, ServletResponse response)方法,流程 :
--->service(ServletRequest request, ServletResponse response)
--->自己定义的servlet没有service方法
--->去HttpServlet中找service方法
--->将ServletRequest 和ServletResponse 强转
--->获得请求方式 get post
--->根据不同的请求方式调用不同的方法
--->调用是子类servlet中覆写的doGet和doPost
(实际开发中 不会去直接实现servlet接口会继承HttpServlet类 覆盖内部doGet和doPost方法)
......
servlet的上下文对象,ServletContext就代表一个web应用 ServletContext内部维护着该web应用的一些相关信息
ServletContext context = config.getServletContext() ServletContext context = this.getServletContext();
获得web应用的初始化参数 获得web应用下任何资源的绝对路径 ServletContext是一个域对象