Servlet
Servlet是JavaWeb服务器端的程序,一般一个Servlet处理一种特定的请求。Servlet编写好后,需要指定其所处理
的请求的请求路径,也可以认为Servlet是一种虚拟资源,可被客户端请求。
Servlet接口被定义用来处理客户端发来的请求,又针对HTTP协议提供了子类HttpServlet处理HTTP请求,
HttpServlet中定义了doGet()和doPost()两种方法来处理HTTP协议中两种请求方式get和post,一般的业务逻辑使
用get或post都可以,而且处理方式一样,所以一般都在一个方法中调用另一个方法,比如在doPost()中调用
doGet()。
Servlet工作原理:
* 服务器收到请求,创建出request和response
* 判断该请求路径对应的Servlet类是否存在,如果不存在,则生成404错误响应
* 如果存在,则判断该Servlet的对象是否存在,如果不存在,则创建该Servlet的对象
* 如果存在,则调用Servlet对象的doGet()或者doPost()处理请求
* 最后生成响应
虚拟路径:
web3.0版本之后,可以使用@WebServlet注解指定Servlet的虚拟路径,比如@WebServlet("/test"),注意:必须以
斜线开头。
项目启动时会扫描所有的@WebServlet注解并管理起来。
可以为Servlet指定多个虚拟路径,比如@WebServlet({
"/test","/test1","/test2"})。
虚拟路径支持通配符,比如"/user/*"、*.do,但是不能是"/user*"、"/*.do"等。
使用单个/可以匹配所有请求。
Servlet对象的创建时机:
Servlet对象默认会在第一次被请求时创建,也可以通过配置让服务器启动时就创建Servlet对象。
request请求对象
HttpServletRequest request是请求对象,内部封装了客户端请求的各种信息,主要有请求路径、请求参数、请求
头、cookie等
getRequestURI():获得请求路径及其后面的查询字符串(不包括主机和端口)
getParameter(name):获得以键值对形式提交的请求参数的值
getHeader(name):获得请求头信息
getPart(name):获得上传的文件
getCookies():获得随请求上传的cookie信息
response响应对象
HttpServletResponse response是响应对象,专门用来生成响应,主要有响应行、响应头和响应体等
setContentType(type):设置响应类型
getWriter():获得Writer以便生成文本响应
getOutputStream():获得字节输出流,以便生成字节响应,比如文件下载等
sendRedirect(location):直接生成重定向响应
addCookie(cookie):在响应中添加cookie以便发送给客户端
web.xml部署描述符
在web2.5版本,所有配置信息都要配置在/
Servlet、文件上传、下载、Filter、Listener的概念及总结
最新推荐文章于 2022-07-29 11:15:55 发布
本文深入探讨了Servlet在Web开发中的核心作用,详细阐述了文件上传和下载的实现步骤,同时介绍了Filter的概念及其在请求处理中的关键作用。此外,还涵盖了Listener在监听应用程序事件中的重要应用,为全面理解Java Web技术提供了宝贵的知识点总结。
摘要由CSDN通过智能技术生成