Java web课程学习之Servlet
- Servlet简介
(1) Servlet本质上就是一个Java类,只不过运行在Servlet容器中
(2) Servlet的功能:
① 创建并返回客户请求的动态HTML页面
② 创建可嵌入到现有HTML页面中的部分HTML页面
③ 与其他服务器资源进行通信
- Servlet容器响应客户请求的过程

① Servlet引擎检查是否已经装载并创建该Servlet实例对象(有②否④)
② 装载并创建Servlet的一个实例对象:调用该Servlet的构造器
③ 调用init()方法
④ 创建一个用于封装请求的ServletRequest对象和一个代表响应信息的ServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去
⑤ web程序在停止或重新启动前,Servlet引擎卸载Servlet,并在卸载之前调用Servlet的destroy()方法
- 声明周期方法
都是由Servlet容器负责调用
l 构造器:只被调用一次,第一次请求servlet是,创建servlet实例,调用该构造器,说明servlet是单实例的。
l init:只被调用一次,在创建好servlet实例后立即被调用,负责初始化servlet
l service:被调用多次,每次请求servlet都会调用该方法,用于响应请求
l destory:只被调用一次,在当前servlet所在的web应用程序被终止之前被调用,释放当前servlet所占的资源
- Servlet注册和运行
(一)Servlet程序必须通过Servlet容器来运行
(二)Servlet程序必须在web引用程序的web.xml文件中进行注册和映射其访问路径,才可以被Servlet引擎加载和被外界访问
(三)一个Servlet元素用于注册一个Servlet,它包含两个主要的子元素:servlet-name和servlet-class,分别用来设置servlet的注册名称和Servlet完整类名
l 一个Servlet-mapping 元素用于映射一个已注册的Servlet的一个对外访问路径,它包含两个子元素:servlet-name和url-pattern分别用于指定Servlet的注册名称和对外访问的路径
l 同一个Servlet可以被映射到多个url上,即多个servlet-mapping的子元素,servlet-name设置值可以是一个Servlet的注册名
l 在Servlet映射的url可以使用*通配符,但只能是两种固定格式:一种是“*.扩展名”,另外一种是以“/”开头“/*”结尾


l 在浏览器的访问路径是:http://localhost:8080/Servlet1114/hello
- ServletConfig对象

- 获取servlet初始化参数
1) getInitParameter(String name):获取指定的参数名的初始化参数
String name=servletconfig.getInitParameter(“jdbc”);
2) getInitParameterNames();获取参数名组成的Enumeration对象
Enumeration<String> names=servletconfig.getInitParameterNames();
- ServletContext对象
- Servlet引擎为每一个Web程序创建了一个对应的ServletContext对象,ServletContext对象被包含在ServletConfig对象中,调用servletconfig.getServletContext方法可以返回ServletContext对象的引用
- 获取web应用初始化参数
getInitParameter()

ServletContext servletContext=servletConfig.getServletContext();
String driver=servletContext.getInitParameter("driver");
- 获取web应用初始化参数名
getInitParameter()
Enumeration<String> names=servletContext.getInitParameterNames()
- 获取当前项目的真实路径

- 获取当前项目的绝对路径

- Servlet的加载

l 如果load-on-startup如果为负数,则在第一次请求servlet是创建实例和初始化;
l 如果是0或正数,则在当前web应用加载的时候创建该实例和初始化
l 数值越小,先被创建
Java web课程学习之Servlet的更多相关文章
- 【Java Web开发学习】Servlet、Filter、Listener
[Java Web开发学习]Servlet 转发:https://www.cnblogs.com/yangchongxing/p/9274739.html 1.Servlet package cn.y ...
- Java web课程学习之JSP
JSP jsp隐式对象:JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐式对象也被称为预定义变量. jsp脚本片段 l jsp脚本片段是指 ...
- Java web课程学习之会话(Session)
Session会话 l web应用中的会话是指一个客户端浏览器与web服务器之间连续发生一系列请求和响应过程 l web应用的会话状态是指web服务器与浏览器在会话过程中产生的状态信息,借助会话状 ...
- Java web课程学习之Request和Response
request和response l HttpServletRequest l 请求转发 l HttpServletResponse l 请求重定向 请求流程 每次请求service(),都会由容 ...
- 【Java Web开发学习】Spring MVC添加自定义Servlet、Filter、Listener
[Java Web开发学习]Spring MVC添加自定义Servlet.Filter.Listener 转载:https://www.cnblogs.com/yangchongxing/p/9968 ...
- 初学Java Web(3)——第一个Servlet
这学期 Java Web 课程的第一节课就简短复习了一下 Java 的一些基础知识,所以觉得 Java 的基础知识还是很重要的,但当我想要去写一篇 Java 回顾的文章的时候发现很难,因为坑实在太多了 ...
- 【Java Web开发学习】跨域请求
[Java Web开发学习]跨域请求 ================================================= 1.使用jsonp ===================== ...
- 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor
[Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...
- 【Java Web开发学习】Spring MVC文件上传
[Java Web开发学习]Spring MVC文件上传 转载:https://www.cnblogs.com/yangchongxing/p/9290489.html 文件上传有两种实现方式,都比较 ...
随机推荐
- nutz_web应用中主页跳转到登录页面的方式
一.前言 web应用开发时,地址栏输入ip+port+appName,通常可以跳转到登录页面.以下便介绍我所知道并且验证过的三种跳转方式. 二.准备工作 需要使用到两个url的处理分别如下: @At( ...
- 0929关于MySQL操作规范(总结)
用户权限管理 创建用户 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: Username所创建的用户名 host 指定该用 ...
- 韩国 DBA 博客
http://mysqldba.tistory.com/ http://cafe.naver.com/mysqlpg http://cafe.naver.com/realmysql http://wi ...
- POJ 1625
什么鬼,真的是有负数的吗?我在字符加上了128才过了.dp[i][j],经过i步到达j状态的路径数.转移很容易了,建个trie图就可以,由前一步可连通到和更新即可. 另外,要用到大数和AC自动机DP ...
- 阶梯博弈&POJ 1704
阶梯博弈: 先借用别人的一幅图片.(1阶梯之前还有一个0阶梯未画出) 阶梯博弈的最初定义是这样的:每一个阶梯只能向它的前一个阶梯移动本阶梯的点,直至最后无法移动的为输. 那么,利用NIM,只计算奇数级 ...
- EditText焦点问题
1.在一个Activity中加入一个EditText后,每次进入这个Activity时输入法都会自己主动弹出来.非常烦,找了些资料,在此记下解决的方法: 方法:在EditText的父控件中获得焦点.这 ...
- Android自己定义控件之轮播图控件
背景 近期要做一个轮播图的效果.网上看了几篇文章.基本上都能找到实现,效果还挺不错,可是在写的时候感觉每次都要单独去又一次在Activity里写一堆代码.于是自己封装了一下.这里仅仅是做了下封装成一个 ...
- 【POJ 2486】 Apple Tree(树型dp)
[POJ 2486] Apple Tree(树型dp) Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8981 Acce ...
- BZOJ 3037 创世纪 树形DP
题目大意:给定一张有向图,每一个点有且仅有一条出边,要求若一个点x扔下去,至少存在一个保留的点y,y的出边指向x,求最多扔下去多少个点 首先原题的意思就是支配关系 我们反向考虑 求最少保留的点 要求一 ...
- ZOJ 1654--Place the Robots【二分匹配 && 经典建图】
Place the Robots Time Limit: 5 Seconds Memory Limit: 32768 KB Robert is a famous engineer. One ...