Servlet工作流程:1.Servlet装入和初始化 2.调用Servlet 3.处理请求 4.多个请求的处理 5.退出 destory()
Servlet编程接口:
1.HttpServletRequest接口代表发送到HttpServlet的请求。这个接口封装了从客户机到服务器的通信。它可以包含客户机环境的信息,任何从客户机发送到Servlet的数据。
2.HttpServletResponse接口代表从HttpServlet返回客户机的响应。它通常是根据请求和Servlet访问的其他来源中数据动态创建生成的响应。
3.ServletConfig接口代表Servlet的配置信息。Servlet根据配置进行初始化。好处在于发布时可以根据配置信息进行调整不用去重新修改编译代码。
4.ServletContext接口代表Servlet的运行环境信息。Servlet是运行在服务器上的程序。为了与服务器及服务器上运行的程序进行交互,有必要获得服务器的环境信息。
5.ServletException接口代表Servlet运行时抛出的异常。
6.HttpSession接口用来在无状态的HTTP协议下跨越多个请求页面来维持状态和识别用户。Cookie,URL重写。
7.RequestDispatcher接口是请求转发器,可以将客户端请求从一个Servlet转发到另外其他的服务器资源,如其他的Servlet,静态HTML页面等。
新建一个Servlet工程,用eclipse的话很方便,直接new就好了。
web.xml是web容器与web应用的交互场所,不过现在多用注释代替。@WebServlet(name="success" ,urlPatterns={"/suc"})
处理请求:POST一般用于更新服务器上的资源,提交的数据包含在HTTP实体数据内;GET方法一般用于查询服务器上的数据,提交的数据附加在请求地址后面.
上传文件Part getPart(String name) 和Collection<Part>getParts().前者用于获取请求中指定name的文件,后者用于获取所有的上传文件。
异步处理 :asyncSupported设为true默认为false
重定向:response.sendRedirect("url_name")
Cookie
URL重写
Servlet上下文
Servlet间协作
Filter 过滤器
Listener:
Listener采用了观察者模式(24种模式之一),Listener是servlet的监听器,他可以监听客户端的请求、服务器端的操作等, 通过监听器,可以自动激发一些操作。比如:监听在线用户数量
当增加一个HttpSession时,就会激发sessinCreated(HttpSessionEvent sce)方法,这样就可以给在线人数+1了。
常见的监听器接口:
ServletContextAttributeListener 监听对servletContext属性的操作,比如删除、增加、修改属性等
ServletContextListener 监听ServletContext,当创建ServletContext时,激发contextInitialized(ServletContextEvent sce)方法,当销毁ServletContext时,激发ContextDestory(ServletContextEvent sce)方法、