针对页面发送的请求做出数据的响应,向页面输出信息,包括文本、图片、视频等格式的文
件;
响应的内容分为三部分:响应行、响应头、响应体
① 响应行主要是关于协议和状态码的描述
② 响应头主要是用来进行响应头信息的设置
③ 响应体主要是响应给页面数据
实现页面跳转的两种方式;重定向是客户端行为,请求转发时服务端行为;
重定向客户端的请求地址会发生变化,请求转发客户端请求地址不会发生变化;
重定向客户端至少会有2次请求发送,请求转发客户端只有一次请求发送;
重定向在页面跳转时不能携带数据,因为两个请求 request 是不一样的;
请求转发可以在一次转发内进行数据的传递,多次转发则不允许携带数据;
请求转发是在服务器端使用 request 对象来实现;
转发的方法:getRequestDispatcher("请求/页面").forward(req,resp)
重定向也在在服务端使用 response 对象来实现;
重定向的方法:sendRedirect("请求/页面")
跟请求对象/响应对象一样,也是在容器初始化时被创建好的对象;
该对象可用于容器初始化时 servlet 辅助信息的设置;
例如:编码格式的设置、servlet 在执行时需要的一些数据。
在 web.xml 中 servlet 标签下可以进行 ServletConfig 辅助信息的设置
格式:
**
**
key
value
key1
value1
ServletConfig 对象和 Servlet 类是一对一的关系;只有 web.xml 配置文件中配置了
标签的 Servlet 类才能后进行ServletConfig 对象
中参数的获取;不能被其他 Servlet 类共享;
ServletConfig 对象获取,可以在 init(ServletConfig config) 方法中获取,也
可以 Servlet 类其他方法中通过 getServletConfig() 进行获取;
再使用方法 getInitParameter("key") 进行对象中数据的获取;如果是多个参数的获取
getInitParameterNames()
jsp 页面
web.xml
servlet 类
类似于 ServletConfig;只是作用范围比 ServletConfig 更大;ServletConfig 是
针对某一个 Servlet 类进行初始参数的设置;
ServletContext 是针对所有的 Servlet 类进行初始参数的设置;
ServletContext 参数的设置依然在 web.xml 中进行;
使用 标签进行设置;
格式:
key
value
注意:ServletContext 是全局的,所以 标签需要和所有 servlet
标签同级;
ServletContext 对象中参数的获取依然使用 getInitParamter(key) 方法 ;如果是
多个参数的获取用 getInitParameterNames()
jsp 页面
web.xml
servlet 类
Servlet 注解开发实际上就是使用 Java 注解替换 web.xml 配置文件;Servlet 注解
(@WebServlet)开发需要 Servet 版本 3.0 以上;
传统的配置文件使用需要在 web.xml 中编写请求与Servlet关联的配置信息
如果使用注解模式,配置文件就可以简略不写
@WebServlet("/servletAnnotation") 注解就相当于是 web.xml 中的配置信息描
述;
但是需要注意,注解和配置文件不能共存,意思就是在 web.xml 中如果写了配置信息,那么
该 Servlet 类就不能使用注解;反之,如果某个 Servlet 类使用了注解的模式进行开
发,那么在 web.xml 中就不能有该 Servlet 类配置信息
注解开发案例
jsp 页面
Servlet 类
运行结果
如果 @WebServlet("/servletAnnotation") 注解内部只有一个内容,那么该内容
"/servletAnnotation" 表示该 Servlet 要拦截的请求地址;
该注解内部有更多的关于请求参数、容器加载时机等属性的设置;
详细的注解模式参数使用
① 创建一个 user 表,记录用户的账号密码以及注册的时间
② 编写注册登录的页面
③ 进行注册登录的功能实现
项目结构
user 表
登录页面
注册页面