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开发学习实录看了前面几张,后面 ...
随机推荐
- Python-Django进阶
1. 路由系统 浏览器会自动给url后加一个"/" django会自动给路由的正则表达式前面加一个"/" django会给任何不带"/"结尾 ...
- java并发编程学习: 原子变量(CAS)
先上一段代码: package test; public class Program { public static int i = 0; private static class Next exte ...
- knockoutJS学习笔记01:从拼接字符串到编写模板引擎
开篇 关于knockout的文章,园里已经有很多大神写过了,而且都写得很好.其实knockout学习起来还是很容易的,看看官网的demo和园里的文章,练习练习就可以上手了(仅限使用,不包含研究源码). ...
- 一些js 插件的作用
前言: 从一些开源网站上下载下来的 后台管理系统模板一般会有很多的js ,其js 的功能是什么呢?这里随手查询了一下,记录下来 正文: 1.zDialog.js 各种弹窗插件详细案例:http://w ...
- Perplexity Vs Cross-entropy
Evaluating a Language Model: Perplexity We have a serial of \(m\) sentences: \[s_1,s_2,\cdots,s_m\] ...
- JSP登录页面使用Enter键登录【转】
按回车键实现登录 第一种方法: <html xmlns="http://www.w3.org/1999/xhtml" ><head> & ...
- Google 地图 API V3 针对移动设备进行开发
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- zabbix注入过程分析
Zabbix jsrpc.php sql 注入过程分析 漏洞公开详情(https://support.zabbix.com/browse/ZBX-11023)中提示在insertDB() 中的inse ...
- 【转载】使用pandas进行数据清洗
使用pandas进行数据清洗 本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据清洗 目录: 数据表中的重复值 duplicated() drop_duplicated() 数据表中的 ...
- VBA笔记(二)——基础语法
数据类型 VBA提供了15种标准数据类型,具体见下表: 变量 Sub 变量学习() 'Dim 变量名 As 数据类型 Dim str1 As String '声明定长的String变量 '使用变量类型 ...