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. 【别人的老师VS你的老师 】同样是老师,差别怎么这么大呢!?

  2. CSS代码实例:用CSS代码写出的各种形状图形

    一共收集整理了图形20个,比较实用,同时也为了熟悉CSS的代码.整合了一下,有错误欢迎指出. 1.正方形 #square { width: 100px; height: 100px; backgrou ...

  3. 微信小程序之生命周期(三)

    [未经作者本人同意,请勿以任何形式转载] 上一篇介绍微信小程序开发工具使用和项目目录结构. 这一章节介绍微信小程序的生命周期,什么是生命周期呢? 通俗的讲,生命周期就是指一个对象的生老病死. 从软件的 ...

  4. [CareerCup] 9.8 Represent N Cents 美分的组成

    9.8 Given an infinite number of quarters (25 cents), dimes (10 cents), nickels (5 cents) and pennies ...

  5. JS中的进制转换以及作用

    js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现: //10进制转为16进制 ().toString() // =>&q ...

  6. requestAnimationFrame,Web中写动画的另一种选择

    HTML5/CSS3时代,我们要在web里做动画选择其实已经很多了: 你可以用CSS3的animattion+keyframes; 你也可以用css3的transition; 你还可以用通过在canv ...

  7. VirtualBox中Ubuntu 14.04屏幕分辨率不能设置的问题

    VirtualBox中Ubuntu 14.04屏幕分辨率不能设置的问题   在VirtualBOx虚拟机中Ubuntu 14.04设置屏幕分辨率,怎么点都没反应. 方法一:安装与你的Ubuntu-Gu ...

  8. BZOJ 3224: Tyvj 1728 普通平衡树

    3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 9629  Solved: 4091[Submit][Sta ...

  9. 洛谷P2434 [SDOI2005]区间

    题目描述 现给定n个闭区间[ai, bi],1<=i<=n.这些区间的并可以表示为一些不相交的闭区间的并.你的任务就是在这些表示方式中找出包含最少区间的方案.你的输出应该按照区间的升序排列 ...

  10. 如何将Emmet安装到到 Sublime text 3?

    看清楚哦~~这是Sublime text 3不是2的版本,两者的安装还是有区别的,下面的方法是我感觉比较简单的,其他的要命令什么的感觉太复杂了,经测试是OK的. ONE:建议到官方下载Sublime  ...