Java Servlet复习

Servlet

HTTP请求和响应封装在标准Java 类中 实现各种 Web 应用方案。
 
Servlet是使用 Java语言编写的服务器端程序,它能够接受客户端的请求并产生响应
 
与常规的 CGI 程序相比, Servlet 具有更好的可移植性和 安全性、以及更强大的功能等特点。
 
需要在特定的容器(运行环境)中运行,如Tomcat。
 
 
Servlet容器环境在  HTTP通信  和 web服务器平台  之间实现了 抽象层
 

Servlet容器负责把请求传递给Servlet,并把结果返回给客户。

容器环境也提供了配置Servlet应用的简单方法,并且也提供用XML文件配置Servlet的方法。

 

大多数基于 HTTP 协议的开发,直接继承 HttpServlet
 
继承HttpServlet创建Servlet类主要继承并覆盖以下方法:
 
来自GenericServlet类
public void init(ServletConfig config) throws ServletException

public void init() throws ServletException

public void destroy()

来自HttpServlet类
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

servlet的url-pattern匹配规则详细描述https://www.cnblogs.com/51kata/p/5152400.html

Servlet中的请求转发

使用RequestDispatcher接口实现页面转发

//获得转发对象
RequestDispatcher dispatcher = req.getRequestDispatcher("main.jsp");
//转发
dispatcher.forward(req, resp);
//包含
dispatcher.include(req, resp);

详细解释:https://blog.youkuaiyun.com/sinat_37976731/article/details/79865671

由于是同 请求的转发,因此 请求中的参数和Attribute可以保持。
 

获取Session对象

//有http会话就不创建,没有就创建新的http会话
public HttpSession getSession()
//参数为true:有就http会话不创建,没有就创建新的http会话
//参数为false:有就http会话不创建,没有也不创建
public HttpSession getSession(Boolean create)

获取Application对象

public ServletContext getServletContext();

Servlet过滤器

Servlet 过滤器是 WEB 组件,可以根据应用程序的需要 来拦截特定的请求和响应。
 
 

Servlet监听器

用于监听 些事件的发生,如:客户端请求、WEB应 用上下文、会话信息
 
Servlet 监听器是 Web 应用程序事件模型的 部分,当 Web 应用中的某些状态发生改变时, Servlet 容器就会产生 相应的事件,比如创建 ServletContext 对象时触发 ServletContextEvent 事件,创建 HttpSession 对象时触 HttpSessionEvent 事件, Servlet 监听器可接收这些事 件,并可以在事件发生前、发生后可以做 些必要的处理
 
3种Servlet监听器类型:
ServletContext事件监听器:监听 应用程序环境对象
HttpSession事件监听器:监听 用户会话对象
ServletRequest事件监听器:监听 请求消息对象
 
 
 
典型应用:使用监听器实现统计某网站在线人数。
思路:每个用户在访问网站时,会创建自己的 session ,因此 只要监听 session 的创建与销毁就知道目前在线的人数。
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值