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. ZooKeeper 笔记(5) ACL(Access Control List)访问控制列表

    zk做为分布式架构中的重要中间件,通常会在上面以节点的方式存储一些关键信息,默认情况下,所有应用都可以读写任何节点,在复杂的应用中,这不太安全,ZK通过ACL机制来解决访问权限问题,详见官网文档:ht ...

  2. 服务器一般达到多少qps比较好[转]

    你好,每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量. 原理:每天80%的访问集中在20%的时间里,这2 ...

  3. CSS背景图像位置属性background-position百分比详解

    百分比值同关键字很接近,但其操作方式不一样.用百分比值来居中一幅背景图像,也很简单: body { background-image;url(beijing.gif); background-repe ...

  4. Java 8新特性终极指南

    目录结构 介绍 Java语言的新特性 2.1 Lambdas表达式与Functional接口 2.2 接口的默认与静态方法 2.3 方法引用 2.4 重复注解 2.5 更好的类型推测机制 2.6 扩展 ...

  5. 马后炮之12306抢票工具(四)--抢票Demo,2014年1月9日终结版

    时隔一年多,终于朋友的忽悠下吧抢票Demo的最后一步完善了,与2014年1月9日成功生成车票. Demo仅经过自己测试,并未在高峰期进行测试,代码质量很差,因为赶工,套用去年模板并未使用设计模式. 代 ...

  6. knockoutJS学习笔记04:监控属性

    一.语法介绍 先来看一个简单的例子: <span data-bind="text:name"></span> var obj = {name:ko.obse ...

  7. linux解压rar压缩文件

    服务器是阿里云的 centos 默认linux是没有安装解压rar,zip的软件的.而网上找到的yum install命令也没有用.而且这个rar并不是免费的,只有40天的试用期...真是坑啊 由于用 ...

  8. 【JavaScript】【CSS】前端规则摘抄

    源:http://zhibimo.com

  9. Log4j 简单应用

    #输出日志的包路径log4j.logger.com=DEBUG,FILE log4j.rootLogger=WARN,stdout #控制台日志 log4j.appender.stdout=org.a ...

  10. PRINCE2第二个原则

    PRINCE2要求项目团队吸取以前的经验教训,在项目生命周期中发现.记录和应对.吸取经验教训,应该记录在整个生命周期中,项目准备期应该回顾以往类似项目,看看是否有经验教训可以应用,如果项目是第一次做, ...