JavaWeb的Servlet、ServletContext
一、Servlet是什么?他是一个处理网页请求或者提交数据的处理容器,每个Servlet是独特的,用来处理不同的网页请求方式,同
时Servlet容器内部又是单例多线程的,对多个网页的同一请求采取多线程方式快速处理,在使用时要注意线程安全问题。
二、自定义Servlet需要的步骤:
1、自定义Servlet继承于HttpServlet,重写doGet()和doPost()
2、在WebRoot的WEB-INF的web.xml下配置Servlet
以下为配置格式:
<servlet><servlet-name>别名(任取,但需与以下servlet-mapping的别名一致)</servlet-name><servlet-class>com.firstServlet</servlet-class> <!--(项目工程src下的类路径)--></servlet><servlet-mapping><servlet-name>别名</servlet-name><url-pattern>/firstServlet</url-pattern> <!--设置浏览器访问的路径--><!--真正浏览器的访问路径还得在前面加上项目名即http:localhost:8080/项目名/此处路径--></servlet-mapping>
1、 若想设置Servlet在服务器启动时就创建只需在<servlet>里添加:<load-on-startup>0</load-on-startup>即可,此处0为启动
优先级,Servlet启动顺序按优先级从小到大依次启动(优先级必须为非负整数)。
2、 配置Servlet初始化参数方法:
<servlet>.......<init-param><param-name>paramName</param-name><param-value>paramValue</param-value></init-param></servlet>
三、Servlet生命周期
init() :进行初始化工作
service():提供服务响应请求,自动判断调用doGet或者doPost方法
destory():Servlet被销毁的时候调用
调用顺序:构造器->init()->service()->destory()
四、Servlet的常用方法:
doGet(HttpServletRequest request, HttpServletResponse response):处理get请求,默认启动方
doPost(HttpServletRequest request, HttpServletResponse response):处理post请求
getServletConetext():获取ServletContext对象
五、ServletContext对象(上下文对象)
服务器会为每个web项目创建一个ServletContext对象,该对象在服务器启动时创建,在服务器关闭时销毁。
作用:进行Servlet之间的数据传递
ServletContext对象拥有的方法:
setAttribute(String name,Object Key):使用键值对方式存入数据对象
getAttribute(String name):通过键名取出数据对象
removeAttribute(String name):通过键名删除已存入的数据对象
getAttributeNames():取出所有键名
getInitParameter(String name):通过键名取出全局初始化参数值(ServletConfig里同样方法获得当前Servlet
初始化参数)
全局初始化参数配置:
<web-app><context-param><param-name>cluster</param-name><param-value>false</param-value></context-param>.......</web-app>
getRealPath(String path):通过文件名获取文件的绝对路径
getResourceAsStream(String path):通过文件名获取文件的输入流对象(InputStream)
getResource(String path):通过文件名获取文件的网址URL对象
getResourcePaths(String path):通过文件名获取当前文件名目录下的所有资源的路径的Set集合
六、获取src路径(类路径WEB-INF\classes)下的资源:所有src下的文件都会在映射在WEB-INF\classes里
第一种:getClass().getClassLoader().getResourceAsStream是从src路径(即classes路径)开始的,同时路径不用"/"开头
第二种:getClass().getResourceAsStream是分俩种情况:
"/"开头是从src路径(即classes路径)开始的,
不用"/"开头是从当前包路径下开始的
若想返回上级路径使用../
转载于:https://www.cnblogs.com/MrQlyn/p/10236324.html
JavaWeb的Servlet、ServletContext相关推荐
- JavaWeb(五)——Servlet、Mapping问题、ServletContext
文章目录 1. Servlet 简介 2. HelloServlet 3. Servlet原理 4. Mapping问题 5. ServletContext 1. Servlet 简介 Servlet ...
- html与java接口,JavaWeb学习——Servlet相关的接口和类
JavaWeb学习--Servlet相关的接口和类 摘要:本文主要学习了Servlet相关的接口和类. Servlet的接口和类 三种方式 实现Servlet有三种方式: 实现javax.servle ...
- javaweb(07) Servlet详解
javaweb(07) Servlet详解 什么是Servlet 简介 从广义上来讲,Servlet规范是Sun公司制定的一套技术标准,包含与web应用相关的一系列接口,是web应用实现方式的宏观解决 ...
- JavaWeb核心|Servlet
文章目录 一.发布资源引入: 二.发布动态资源(Servlet基础) 三.Servlet 3.1 Servlet介绍 3.2 Servlet快速入门 3.3 Servlet执行过程 3.4 Servl ...
- 【JavaWeb开发-Servlet】拾起海中的漂流瓶超强版
目录 原版: 一.思路: 二.实现: 三.资源分享 四.部署服务器时记得修改文件路径 原版: [JavaWeb开发-Servlet]拾起海中的漂流瓶增强版_代码骑士的博客-CSDN博客[代码][Jav ...
- Eclipse JavaWeb 关于Servlet的部分笔记
这个是参照B站上的一个学习视频做的笔记,但是那个视频里面老师讲的比较碎,我学的不连续,怕忘了,就记好笔记,方便随时查阅. 视频链接:我在B站看的学习视频 目录 WEB启动时创建Servlet 建立Dy ...
- Java匹马行天下之JavaWeb核心技术——Servlet
Servlet 一.什么是Servlet? Servlet是在服务器上运行的小程序,也就是一个Java类,但比较特殊,不需要new,自动就可以运行.也有创建.垃圾回收和销毁过程.Servlet是Jav ...
- JavaWEB开发-Servlet事件监听器
JavaWEB开发-Servlet事件监听器 l 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法 ...
- javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/
今天在启动tomcat的时候,出现了这个错误 javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletC ...
- java 构造函数抛出异常,构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError:javax/servlet/ServletContext...
我正在尝试使用MockMVC设置Junit测试. 从这个link – "要么不能使用Servlet API,要么你需要在类路径上提供它". 我在pom.xml中添加了以下内容但是没 ...
最新文章
- 容器学习 之 限制容器资源(十一)
- vb 获取系统声音的电平_质量好的背景音乐系统套装效果图
- 设置与读取C#控制台应用程序Main函数中的参数args
- jmeter环境部署
- 基于React-Native0.55.4的语音识别项目全栈方案
- Ubuntu PIL 安装
- Python机器学习:评价分类结果008多分类问题中的混淆矩阵
- 删除计算机共享信息命令,win10系统使用命令将网络共享删除的操作办法
- XSS漏洞原理/方式/防御
- 为什么我的IP地址经常变化
- (转)linux口令相关文件(/etc/passwd和/etc/shadow)
- idea下载Scala插件(详细)
- dB 和 dbm 对照表
- mysql vchar 磁盘碎片_mysql TEXT与BLOB 碎片整理
- Git ~ commit 规范
- 分布式系统之道:Lamport 逻辑时钟
- exlc表格怎么换行_excel如何换行_表格怎么换行上下换行
- 《Python编程快速上手——让繁琐的工作自动化》读书笔记3
- Linux下PHP使用selenium、chrome、chromedriver模拟无界面浏览器
- 仿网易云音乐html代码,仿网易云音乐外链播放器UI的HTML5音乐播放器插件