servlet 之 复习
servlet
他是我们第一个动态资源,servlet和JSP都是.
servlet ===> server applet 运行在服务器端的小程序.
1.获得请求
2.处理请求
3.完成响应
servlet中的方法
生命周期方法:
init ==> 第一个请求来的时候,创建了servlet实例之后会调用init方法初始化. 该方法接受一个servletConfig实现类
service ==> 用来处理请求的方法. 接受两个对象,request和response.分别代表请求的封装和响应的封装.
destory ==> 在服务器停止,销毁servlet之前.调用destory方法释放资源.
其他方法:
getServletInfo ==> 没有用的方法.
getServletConfig ==> 获得servletConfig实现类.其实保管好init中传给我们的servletConfig,在这个方法中返回config实现类即可.
servletConfig对象 ===> servletConfig对象 跟servlet的关系是,一个servlet对应一个servletConfig对象
一部分是获得配置文件(web.xml)中servlet相关的信息:
getServletName 返回配置中servlet的名字
getInitParameter(); 获得servlet中配置的 init-param
getInitParameterNames(); 获得init-param 中所有key
获得servletContext对象
getServletContext
GenericServlet 抽象类 ==> service
让GennericServlet同时实现了servlet接口和servletConfig接口.这样我们在调用servletConfig相关的方法时简便一些.
注意:最重要的工作是在init方法中完成的.我们继承GennericServlet时,不要重写servlet接口中的init方法.如果需要初始化,重写generic自定的空参init方法.
HTTPServlet 抽象类 ==> 没有抽象方法
HTTPServerlet继承了GenericServlet.
1.将ServletRequest和ServletResponse对象强转成了HTTP开头的request和response.
2.根据我们请求的方式不同,会调用不同的方法来处理.例如 get请求==> doGet方法 post请求==> doPost方法
我们今后开发,写的servlet 去继承HTTPServlet即可. servlet中一些细节问题
1.servlet不是线程安全的.因为运行期间servlet只有一个实例.可能同时处理多个请求.
所以我们在接受与线程相关的信息时,不要使用成员变量,而要使用局部变量.
2.路径问题 url-pattern配置
url-pattern配置分两种配置方式:
1> 以"/"开头的 路径匹配
2> 以*.开头的 后缀名匹配
注意: 两种匹配方式不能同时使用.
匹配范围越大,匹配优先级越低. 例如只配置一个"/".范围最大.优先级最低.(tomcat下的config/web.xml中,有一个defaultServlet就使用的是"/",他就是来处理静态资源或者报错的)
3.servlet随着服务器的启动而启动
只需要在servlet元素中配置一个load-on-startup 即可.
该配置中填写整数.取值范围0~...... 其中数字越小优先级越高.就会先启动. 如果数字一样,按照配置顺序启动.
ServletContext对象
Context 一个web项目 中只会有一个实例.
从servletConfig中获得servletContext
功能:
1.获得web.xml中的配置==> <Context-param> 中的键值对
getInitParameter
getInitParameterNames
2.域对象 ==> Map
application ==> servletContext
session
request getAttribute(key); 获得
setAttribute(key,value);设置键值对
removeAttribute(key); 删除键值对
getAttributeNames();获得所有的键 3.servletCOntext获得项目中的资源
getRealPath 根据相对路径获得绝对路径
getResourceAsStream 根据相对路径获得资源的流
以上两个方法只要知道 "/"==>代表webRoot(也就是我们web项目的根路径即可)
使用Class类或ClassLoader类 加载项目中的资源.
以上两个类 获得资源的位置是在 /webRoot/WEB-INF/classes目录下的.
class类 ==> 填写相对路径 "/"==> 1.加"/",代表classes目录 2.不加"/",代表类所在目录. getResouceAsStream
getResource
classLoader ==> 填写相对路径 "/"==> 代表classes目录
getResouceAsStream
getResource
servlet 之 复习的更多相关文章
- jsp servlet基础复习 Part2--GET,Post请求
最近进行servlet和jsp方面的梳理复习时,发现以前忽略了一个非常重要的知识点:get和post的请求(如果你觉得两者仅仅是提交数据量的大小以及方式不同就大错特错了)的正真区别,下面进行简答的整理 ...
- jsp servlet基础复习 Part1
jsp和servlet的一些基础知识整理,用于备忘. 一.jsp与servlet的基本关系 1.jsp-->web容器-->servlet-->加载进容器的虚拟机执行-->输出 ...
- Servlet的复习
Servlet概述 在JavaWeb阶段,使用Servlet是很经常的是事情,Servlet作为MVC中控制器(C)的存在,是不可缺少的一部分.当然Servlet作为JavaWeb的三大组件之一(其他 ...
- Servlet&JSP复习笔记 03
1.Servlet的声明周期 容器如何创建Servlet对象,如何为Servlet对象分配资源,如何调用Servlet对象的方法来处理请求,以及如何销毁Servlet对象的过程. a.实例化 容器调用 ...
- Servlet&JSP复习笔记 02
1.Servlet获取请求参数 获取请求参数依靠的是表单元素的name属性,广泛意义来说id属性是给客户端使用的,name属性是服务器使用的. a.获取Name-Value的方法: - getPara ...
- Servlet&JSP复习笔记 01
1. Servlet 含义:服务器端的小程序,它只是服务器中的一部分. Servlet Little 标准:Sun公司制定的一种用来扩展Web服务器功能的组件规范. a. 扩展web服务器功能:扩展w ...
- Servlet&JSP复习笔记 04
1.状态管理 因为HTTP协议是无状态协议,但很多时候需要将客户端和服务端的多次请求当做一个来对待.将多次交互中设计的数据进行保存. 状态:数据 管理:对数据的维护 2.Cookie 客户端向服务器发 ...
- javaee 导航
tomcate端口设定和服务器虚拟目录设定 静态web 应用和动态web应用 tomcat相关问题 web应用 http 响应 url uri 动态页面 servlet 一个简单的servlet的de ...
- Java复习10.Servlet编程
Java复习10. Servlet编程知识 20131008 前言: 之前在大三下的时候,学习了一个月的JSP和Servlet知识,但是没有什么项目经验,把JSP Web开发学习实录看了前面几张,后面 ...
随机推荐
- async/await Task Timeout
async/await Task Timeout 在日常的电脑使用过程中,估计最难以忍受的就是软件界面"卡住""无响应",在我有限的开发生涯中一直都是在挑战 它 ...
- Java JVM proxy setting
-Dhttp.proxyPort=8080(your port) -Dhttp.proxyHost=192.168.19.200(your IP) -Dhttp.nonProxyHosts=local ...
- js 获取时间间隔
现在感觉sublime IDE 用着比较方便,也比较美观,不知道大家用的是啥ide.
- css实现了hover显示title的效果
<div data-title="hello, world">hello...</div> <style> div { position: re ...
- Thinking in java学习笔记之多态
多态是一种将改变的事物和未变的事物分离开来的重要技术.
- 数据结构图文解析之:AVL树详解及C++模板实现
0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...
- Fxx and game
可提交的传送门http://acm.hdu.edu.cn/showproblem.php?pid=5945 分析:这道题目可以采用动态规划来解决 设f[i]表示把i变成1的最小代价. 所以有:f[i] ...
- 加载dll过程中assembly失败
错误现象: 进行插件读取时出现错误:“尝试从一个网络位置加载程序集,在早期版本的 .NET Framework 中,这会导致对该程序集进行沙盒处理.此发行版的 .NET Framework 默认情况下 ...
- HTML-一个网页的头部的大概框架(完善ing)
正常情况下,一个头部(考虑兼容.响应.title图标的需求),所要填写的内容如下: <!DOCTYPE html> <html> <head> <meta c ...
- elasticsearch 优化
ES 手册 如何提高ES的性能 不要返回较大的结果集 ES是设计成一个搜索引擎的,只擅长返回匹配查询较少文档,如果需要返回非常多的文档需要使用Scroll. 避免稀疏 因为ES是基于Lucene来索引 ...