Servlet基础
来源:互联网 发布:电脑软件网站 编辑:程序博客网 时间:2024/06/07 04:11
Servlet访问方式:
1,通过浏览器中输入URL地址进行访问,
2,利用表单action属性
3,利用超链接href属性
注意:如果2,3直接书写URL路径,默认在当前目录下寻找;如果以/开始,表示回到Webapps根目录,那么需要在/后面添加web应用程序的部署名
推荐使用第二种
Servlet的映射路径:
1.精确匹配:/ts,表示只能以/ts方式访问servlet
2.扩展映射:.*do,表示凡是以.do结尾的请求都能访问servlet
3.路径映射:/abc/*,表示在abc目录下的所有请求都能访问servlet
Servlet生命周期:
1,启动tomcat,读取conf/server.xml----以确定启动端口(默认8080)和WEB应用程序存放的路径(默认webapps)
2,读取webapps目录下所有web应用程序,并将web.xml文件进行解析。如果解析失败,那么抛出解析异常,这就意味着,如果有一个web应用程序的web.xml书写有误,那么启动时都会抛出异常
3,WEB容器加载并实例化Servlet。注册servlet时,如果加上<load-on-startup>并且该标签的值为正数,表示容器一启动就实例化servlet,如果没有加<load-on-startup>或者该标签的值为负数,表示客户端第一次访问该servlet时,才实例化
4,调用init()方法完成初始化
5,当请求到达,调用service()方法完成业务
6,销毁阶段,调用destroy()完成清理工作
在整个生命周期中,1,2,3,4,6都只进行一次,只有5才是每次请求到达都会执行。而servlet对象在整个生命周期也只有一个,是单实例多线程的对象
在注册Servlet时,可以通过
<init-param>
<param-name></param-name>
<param-value></param-value>
</init-param>
书写Servlet的初始化信息。可以通过ServletConfig配置接口定义的getInitParameter()根据参数键,得到参数值。但是只能被当前servlet访问,不能在被别的servlet中访问
(getServletName()得到servlet-name)
ServletContext应用上下文:
作用:1,属于整个Web应用程序
2,可以访问到Web应用程序资源的本地输入流
3,读取context-param全局配置信息
4,把资源的虚拟路径转换为物理路径
5,记录事件日志
6,绑定一个对象在整个web应用程序中共享
- Servlet基础----Hello Servlet!!!
- Servlet基础
- Servlet基础
- Servlet基础
- servlet基础
- Servlet 基础
- Servlet基础
- servlet基础
- Servlet 基础
- Servlet基础
- Servlet基础
- servlet基础
- Servlet基础
- Servlet ---- 基础
- servlet基础
- Servlet基础
- servlet基础
- Servlet基础
- 1.3.5、开发板刷系统:使用fastboot烧录android2.3
- Hibernate学习(1)
- eclipse自动格式化
- Codeforces Round #361 (Div. 2)
- 使用maven profile实现多环境可移植构建
- Servlet基础
- Lesson1 初识HTML
- android手机各大分区详解
- Android Path的使用
- 用FTP传输做上传诊断
- 每日一题(11): poj1276
- qt使用ros库
- 进程之间的通信的方式有哪些,他们之间的区别是什么!或者是忧缺点
- 关于java中static一个有意思的小案例