Servlet
来源:互联网 发布:交换机端口介绍 编辑:程序博客网 时间:2024/06/03 17:40
1.什么是servlet?
Servlet是运行在服务端的java小程序,是sun公司提供的一套规范,用来处理客户端的请求,响应给浏览器的动态资源。
Servlet是JavaWeb的三大组件之一(Servlet,Filter,Listener),且最为重要。
Servle的作用?用来处理客户端发送过来的请求,并作出相应。
主要任务有:获取请求参数,处理请求,完成响应。
servlet的规范要求:Servlet程序需要编写实现类,并在web.xml进行配置。
实现步骤:创建类实现Servlet接口,覆盖尚未实现的方法-----service,在web.xml进行servlet的配置;
但是在实际开发中我们一般不直接去实现Servlet接口,因为那样需要覆盖的方法太多,我们一般创建类继承HttpServlet
实现步骤:创建类继承HttpServle类,覆盖doGet和doPost,在web.xml中进行servlet的配置
创建类,继承HttpServlet,复写doGet和doPost方法
编写配置文件web.xml
使用Request接受请求参数常用的方法:
方法名
String getParameter(String name)
获得指定参数名对应的值。如果没有返回null,如果只有多个获得第一个
String[ ] getParameterValues(String name)
获得指定参数名对应的所有值
Map<String ,String[ ]> getParameterMap()获得所有的请求参数。key为参数名,value为key对应的所有值
setCharaterEncoding(String env)
设置请求体的编码,用于解决POST请求参数乱码问题
Servlet的生命周期:
Servlet规定,所有的servlet必须实现javax.servlet.Servlet接口
(1)Servlet接口中的方法
1)init(ServletConfig config)
何时执行:servlet对象创建的时候执行
ServletConfig : 代表的是该servlet对象的配置信息
2)service(ServletRequest request,ServletResponse response)
何时执行:每次请求都会执行
ServletRequest :代表请求 认为ServletRequest 内部封装的是 http请求的信息
ServletResponse :代表响应 认为要封装的是响应的信息
3)destroy()
何时执行:servlet销毁的时候执行
1.第一次调用时,将执行初始化方法:init(ServletConfig)
2.每一次调用,都将执行servile(ServletRequest ,ServletResponse)方法
3.服务器关闭时或者项目移除时:destroy()方法
JavaEE规范中提供Servlet接口实现类:
GenericServlet:通用servlet实现,没有实现service
HttpServlet:与Http协议有关的实现。实现service方法,完成与http协议有关的操作。
request.getMethod()获得请求方式(get post)
如果是get,将调用doGet()
如果是post,将调用doPost()
生命周期:就是一个对象从创建到销毁的过程。
Servlet的生命周期:Servlet从创建到销毁的过程
何时创建:用户第一次访问Servlet创建Servlet的实例(单实例)
何时销毁:当项目从服务器移除或者关闭服务器的时候移除
servlet的配置问题
其中url——pattern的配置方式
1)完全匹配 访问的资源与配置的资源完全相同才能访问到
<url-pattern>/quickStratServlet</url-pattern>
2)目录匹配 格式:/虚拟的目录../* *代表任意
<url-pattern>/aaa/bbb/ccc/*</url-pattern>
3)扩展名匹配 格式:*.扩展名
<url-pattern>*.abcd</url-pattern>
/aaa/bbb/*.abcd(错误的)
SerletContext对象1.什么是ServletContext对象
ServletContext代表一个web应用的环境(上下文),servletContext对象内部封装是该web应用的信息,ServletContext对象,一个web应用只能有一个。
ServletContext对象的生命周期?
创建:该web应用被加载(服务器启动或发布web应用(前提,服务器启动状 态))
销毁:web应用被卸载(服务器关闭,移除该web应用)
1.怎样获得ServletContext对象
1)ServletContext servletContext = config.getServletContext();
2)ServletContext servletContext = this.getServletContext();
ServletContext的作用?
1.获得web应用全局的初始化的参数
web.xml中配置初始化参数
通过context对象获得参数
2.获得web应用中任何资源的绝对路径
方法 String Path = context.getRealPath(相对于web应用的相对地址)
3.ServletContet是一个域对象
什么是域对象?什么是域?
存储数据的区域就是域对象
ServletContext域对象的作用范围:整个web应用(所有的web资源都可以随意向servletcontext域中存取对象,数据可以共享)
域对象的通用方法:
setAttribute(String name,Object obj)
getAttribute(String name)
removeAttribute(String name)
- Servlet
- servlet
- Servlet
- servlet
- Servlet
- servlet
- servlet
- Servlet
- Servlet
- servlet
- Servlet
- servlet
- servlet
- servlet
- Servlet
- servlet
- servlet
- servlet
- python中文的编码问题(使用decode('gbk').encode('utf-8')和decode('utf-8').encode('gbk'))
- ubuntu centos 安装docker ce 依赖清华大学镜像
- React 不使用ES6
- Light Field 光场以及MATLAB光场工具包(LightField ToolBox)的使用说明
- JEESZ-kafka集群安装
- Servlet
- STM32—无需中断来实现使用DMA接收串口数据(原创)
- (转载)Linux 学习记录 一(安装、基本文件操作)
- rocket mq 的广播模式示例
- windows 下搭建邮件服务器
- Oracle数据库数据导出
- 数据库封装之app离线缓存
- (主题模型的应用)应用LDA抽取评论的主题特征
- em算法的一些理解