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 之 复习的更多相关文章

  1. jsp servlet基础复习 Part2--GET,Post请求

    最近进行servlet和jsp方面的梳理复习时,发现以前忽略了一个非常重要的知识点:get和post的请求(如果你觉得两者仅仅是提交数据量的大小以及方式不同就大错特错了)的正真区别,下面进行简答的整理 ...

  2. jsp servlet基础复习 Part1

    jsp和servlet的一些基础知识整理,用于备忘. 一.jsp与servlet的基本关系 1.jsp-->web容器-->servlet-->加载进容器的虚拟机执行-->输出 ...

  3. Servlet的复习

    Servlet概述 在JavaWeb阶段,使用Servlet是很经常的是事情,Servlet作为MVC中控制器(C)的存在,是不可缺少的一部分.当然Servlet作为JavaWeb的三大组件之一(其他 ...

  4. Servlet&JSP复习笔记 03

    1.Servlet的声明周期 容器如何创建Servlet对象,如何为Servlet对象分配资源,如何调用Servlet对象的方法来处理请求,以及如何销毁Servlet对象的过程. a.实例化 容器调用 ...

  5. Servlet&JSP复习笔记 02

    1.Servlet获取请求参数 获取请求参数依靠的是表单元素的name属性,广泛意义来说id属性是给客户端使用的,name属性是服务器使用的. a.获取Name-Value的方法: - getPara ...

  6. Servlet&JSP复习笔记 01

    1. Servlet 含义:服务器端的小程序,它只是服务器中的一部分. Servlet Little 标准:Sun公司制定的一种用来扩展Web服务器功能的组件规范. a. 扩展web服务器功能:扩展w ...

  7. Servlet&JSP复习笔记 04

    1.状态管理 因为HTTP协议是无状态协议,但很多时候需要将客户端和服务端的多次请求当做一个来对待.将多次交互中设计的数据进行保存. 状态:数据 管理:对数据的维护 2.Cookie 客户端向服务器发 ...

  8. javaee 导航

    tomcate端口设定和服务器虚拟目录设定 静态web 应用和动态web应用 tomcat相关问题 web应用 http 响应 url uri 动态页面 servlet 一个简单的servlet的de ...

  9. Java复习10.Servlet编程

    Java复习10. Servlet编程知识 20131008 前言: 之前在大三下的时候,学习了一个月的JSP和Servlet知识,但是没有什么项目经验,把JSP Web开发学习实录看了前面几张,后面 ...

随机推荐

  1. request.getcontextPath() 详解

    request.getcontextPath() 详解 文章分类:Java编程 <%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径. 但 ...

  2. Editplus常用快捷键

    EditPlus 快捷键的使用 如果一个来你们公司面试程序员,连Ctrl + C 和Ctrl + V 都不用,而是使用“选中文本”→ 鼠标右键 → [复制],然后再鼠标右键→ [粘贴].你会不会录用他 ...

  3. MD测试

    # 欢迎使用 Cmd - 在线 Markdown 编辑阅读器 ------ 我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,**Cmd Markdown** 是 ...

  4. Xcode调试技巧(断点和重构)

    首先是最简单的普通断点有时候不知道是那个方法调用的崩溃的这个方法,传了个奇怪的值,打个断点就就可以在左侧工具栏里看到最近几个方法执行的循序,和那个方法调用的本方法,一般小问题在这里就可以解决啦~ 条件 ...

  5. Local gulp not found in.. on windows

    当出现报错时,请按如下方式安装 gulp 以下使用国内的淘宝镜像安装: $ # Step 1 $ cnpm install -g gulp $ # Step 2 $ cnpm install --sa ...

  6. 在php中验证复选框

    PHP接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便.但是还是有解决办法的,就是利用javascript做一下预处理.多个同名复选框在javascript中还是以数组的形 ...

  7. Git从入门到学会

    Git简介 Git是什么? Git和SVN一样都是一种高效的管理代码的系统. Git是目前世界上最先进的分布式版本控制系统(没有之一). 创建版本库 什么是版本库呢?版本库又名仓库,英文名reposi ...

  8. poi导出的excel的数字小数位过多?

    最近在使用Apache的POI组件对Excel进行操作,在对excel导出的时候,导出的数字本来只有两位小数,得到的结果就变成了很多位小数.如下面的图所示: 虽然对单元格使用了setCellStyle ...

  9. MySQL的insert语句的区别

    SQL Server: insert into tb_articleType (articleType_name,articleType_info) values ("test", ...

  10. Linux下因为系统编码问题造成乱码的解决办法

    2016年12月13日18:34:32 -------------------------------- 最近一段时间遇到一些润乾报表的应用在linux系统下面乱码的问题,最后检查后都发现是客户的li ...