JavaWeb之Servlet
来源:互联网 发布:linux压缩目录命令tar 编辑:程序博客网 时间:2024/06/05 14:30
Servlet生命周期
- 生命周期
<load-on-startup>0</load-on-startup>
当属性值为正整数范围内,Servlet会按照值的大小来启动
值越小的启动越早
当被访问时构造并初始化,先执行带参的init再执行不带参的
最后在服务器关闭的销毁
Servlet在接收请求和输出时乱码
- request乱码时
请求为post时,在程序的第一行加入
请求为get时,无法通过request本身解决
需要重新编码
request.setCharsetEncoding("utf-8");new String(name.getBytes("iso-8859-1"),"utf-8")
- response乱码时
//在页面加入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />//在程序中加入response.setCharacterEncoding("UTF-8");response.setHeader("content-type","text/html;charset=UTF-8");response.setContentType("text/html;charset=utf-8");
Servlet的属性
ServletConfig:从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,一个servlet的ServletConfig对象不能被另一个servlet访问。
ServletContext:对任何servlet,任何人在任何时间都有效
<init-param> <param-name>charset</param-name> <param-value>GB2312</param-value> </init-param>
当init-param单独配置在servlet标签中则是ServletConfig的值,并且只有对应的Servlet才能拿到
而配置在web-app中则是ServletContext的值,任何时刻都能获取到
Servlet的转发和重定向
- 转发forword
假设浏览器访问servlet1,而servlet1想让servlet2为客户端服务。此时servlet1调用forward()方法,将请求转发给servlet2。但是调用forward()方法,对于浏览器来说是透明的,浏览器并不知道为其服务的Servlet已经换成Servlet2,它只知道发出了一个请求,获得了一个响应。浏览器URL的地址栏不变。
request.getRequestDispatcher("目标servlet").forword(req,res);
- 重定向sendRedirect
假设浏览器访问servlet1,而servlet1想让servlet2为客户端服务。此时servlet1调用sendRedirect()方法,将客户端的请求重新定向到Servlet2。接着浏览器访问servlet2,servlet2对客户端请求作出反应。浏览器URL的地址栏改变。
response.sendRedirect("目标网页");
- 二者的区别
sendRedirect()可以发到任意主机,forward不行
forward是同一个请求,request延续
forward浏览器地址栏不发生改变
Servlet中的资源路径
getRealPath获取的是项目根路径
项目部署在哪里路径就在哪里
getClass().getResource获取的是类路径
- JavaWeb 之 Servlet入门
- javaWeb之手写Servlet
- JavaWeb之Servlet详解
- (1)javaweb 之 servlet
- javaweb开发之servlet
- javaweb之Servlet
- JavaWeb之Servlet篇
- JavaWeb之Servlet
- javaWeb之Servlet开发
- JavaWeb之Servlet编程
- javaweb学习之servlet
- JavaWeb之Servlet day01
- JavaWeb之Servlet day02
- Javaweb学习之servlet
- JavaWeb之Servlet笔记
- JavaWeb之Servlet
- 闲聊javaweb之servlet
- javaWeb之初识Servlet
- JAVA MyEclipse(4)---修改MyEclipse的默认工作空间
- MAC OS 您需要安装旧Java SE6 运行环境才能打开“***”问题解决方法
- 关于typedef的用法总结
- 方差、均值、中值matlab的求法
- ETL工具大全
- JavaWeb之Servlet
- linux命令、软件的安装、卸载以及常用命令
- SecureCRT导入sessions
- Oracle数据库导入导出与 客户端、数据库版本的关系
- iOS高性能编程 之性能指标
- 几个比较很重要的Shader相关教程
- java接口[java7高级进阶]
- js初始化事件
- 掩码计算工具netmask