- 浏览: 442243 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (168)
- Hibernate (17)
- MySQL (7)
- struts2 (14)
- Spring (12)
- Javascript (20)
- CSS (8)
- ajax/jquery (11)
- HttpClient (6)
- HTTP (1)
- java小知识 (23)
- Servlet/JSP (5)
- Oracle (0)
- Quartz (3)
- Lucene/Nutch (12)
- c# winform (2)
- J2ME (1)
- POI (5)
- php5 (2)
- DWR(Ajax) (1)
- log4j (1)
- dom4j (3)
- 獲取郵件聯系人 (2)
- 随意 (5)
- Heritrix (1)
- ireport+jasper (1)
- 算法 (2)
- java虚拟机 (1)
- maven (2)
最新评论
-
janrick:
太感谢了,我正需要加密的函数呢
java中DES加密解密例子 -
xuganggogo:
suyang119 写道请教一下,补充的三级的可以用吗?当然可 ...
关于条件查询detachedCriteria的注意的地方 -
suyang119:
请教一下,补充的三级的可以用吗?
关于条件查询detachedCriteria的注意的地方 -
xuganggogo:
大江帅 写道var name="attriName& ...
有关在JavaScript中使用EL表达式的问题 -
大江帅:
var name="attriName"; ...
有关在JavaScript中使用EL表达式的问题
学习J2EE,需要学习很多框架,很多更新的知识。时常觉得自己漂浮在表层,看到某篇servlet的文章,想留下此文。
引:http://www.chinajavalab.com/research/web/webdev-qa.htm
(作者:Jason
, www.ChinaJavaLab.com
)
init()方法被GenericServlet.init(ServletConfig config)方法调用。
init()方法方便了开发人员定制Servlet的初始化,而无须去维护ServletConfig对象的存储工作。
重写GenericServlet.init(ServletConfig config)必须要显示的调用super.init(config)方法。
返回同一Server中指定的path对应的ServletContext对象,通过该对象可以实现与Server中的其他Context打交道。
uripath必须是以"/"开始(该路径的含义是相对于整个Servlet文档的根路径,而不是当前ServletContext的根路径)。
一般的Servlet(GenericServlet,即与协议无关的Servlet)的生命周期:init() --> GenericServlet.service(ServletRequest req, ServletResponse res) --> destroy.
HttpServlet的生命周期: init() --> GenericServlet.service(ServletRequest req, ServletResponse res)---> service(HttpServletRequest req, HttpServletResponse resp) --> doXXXX()-->destroy.
对于HttpServlet来说没有必要。只需要重写它的doXXXX()方法就可以了。HttpServlet中service()方法会自动的根据用户请求类型把请求转发给相应的doXXXX()方法(例如doGet()方法)。
注意两个方法不能同时使用。
请使用ServletContext.getRealPath(String path)方法。
ServletResponse缺省的字符集(charset)是ISO-8859-1,可以通过setContentType(java.lang.String)方法改变新的字符集。
例如:setContentType("text/html; charset=Shift_JIS").
关于字符集信息,可以浏览RFC 2045
request.getRequestURI() 返回值类似:/xuejava/requestdemo.jsp
request.getRequestURL() 返回值类似:http://localhost:8080/xuejava/requestdemo.jsp
当用URL-rewriting方式来管理Session的时候,需要用到以上的两个方法。
两个方法的不同点是:两个方法确定是否需要包含session ID的逻辑不同。
在调用HttpServletResponse.sendRedirect前,应该先调用encodeRedirectURL()方法,否则可能会丢失Sesssion信息。 ...
对于Servlet实现javax.single.SingleThreadModel接口。
对于JSP,在Page Directive中写如下的语句<%@ page isThreadSafe="false" %>
...
实现方法: <%@ page isErrorPage="true" %>
为什么? 因为需要获取Exception 对象(缺省情况下,在JSP Page中是不能直接使用“隐含对象” exception的)。
JSP Page的执行顺序如下:
JSP Page Translation. JSP Page --> Servlet source code. JSP Page Compilation. Servlet source code --> Servlet class. Load Class(First time or the server restarted) Create instance(可能会很多次,如果JSP Page中声明了<%@ page isThreadSafe="false" %>) Call jspInit method(一般的JSP Page都没有重写这个方法,重写需要在声明语句段中)。 Call _jspService method(类似与一般HttpServlet的doGet和doPost方法,但是可以同时用来处理Post和Getq请求)。 Call jspDestroy method(Server在卸载Servet的时候,例如当Servlet很久没有使用的情况)。
request -- reponse -- session -- application -- out -- page -- pagecontext -- exception -- 只有在当前JSP Page为Error Page的时候才有效。 config --
<jsp:include ... -- request time.
<@ include ... -- Page translation time.
Standalone Tomcat standalone modeIn-process Tomcat running inside Apache Web Server.Out-of-process Apache + mod_jk + Tomcat
Servlet,Servlet开发人员 --->Servlet API --> Servlet Container
Message part Description The initial line: Specifies the purpose of the request or response message 例子:GET /reports/sales/index.html HTTP/1.0 The header section:Specifies the meta-information, such as size, type, and encoding, about the content of the message A blank line: An optional message body: The main content of the request or response message下面是一个Response的例子:
HTTP/1.0 200 OK
Date: Tue, 01 Dec 2001 23:59:59 GMT
Content-Type: text/html
Content-Length: 52
<html>
<body>
<h1>Hello, John!</h1>
</body>
</html>
GET HEAD POST
从 Http 1.1规范开始,增加了以下的方法:
PUT OPTIONS TRACE DELETE CONNECT
根据HTTP协议规范,Request 和 Response一样也有这些必不可少的内容!
所以需要首先了解 HTTP Message的概念和其内容的格式,这些东西对于Request和Reponse是一样的。
对于GET方式发送的请求,其内容类型为:null
对于POST方式发送的请求,其内容类型为:application/x-www-form-urlencoded
POST方式发送请求的内容类似于:username=xuejava.
RequestDispatcher.forward()是在服务器端运行;HttpServletResponse.sendRedirect()是通过向客户浏览器发送命令来完成。
所以RequestDispatcher.forward()对于浏览器来说是“透明的”;而HttpServletResponse.sendRedirect()则不是。
另外,还要注意RequestDispatcher.forward()在调用的时候Response不能已经Commit了(Response.isCommitted())。
ServletContext.getRequestDispatcher(String url)中的url只能使用绝对路径;而ServletRequest.getRequestDispatcher(String url)中的url可以使用相对路径。
因为ServletRequest具有相对路径的概念;而ServletContext对象无次概念。
ServletContext.getRequestDispatcher(String url)和ServletRequest.getRequestDispatcher(String url)只能把请求转移到同一个Web App中的地址。(未完待续,敬请关注我今后的补充) (copyright: www.ChinaJavaLab.com)
如果需要把请求转移到另外一个Web App中的某个地址,可以按下面的做法:
1. 获得另外一个Web App的ServletConext对象(currentServletContext.getContext(uripath)).
2. 调用ServletContext.getRequestDispatcher(String url)方法。
发表评论
-
正则替换标点符号的方法。解决方式还不错
2011-01-28 11:08 3256地址:http://topic.csdn.net/u/2008 ... -
hadoop环境搭建问题记录
2010-10-12 17:11 12261,错误 org.apache.hadoop.hdfs.se ... -
Java 正则表达式
2010-07-16 11:52 13021. 正则表达式规则 1.1 普通字符 字母、数字 ... -
字符串转换为Date
2010-04-24 11:04 1712查看了下SimpleDateFomart这个类。 用字符串转 ... -
正则表达式替换掉字符串中的重复字符
2009-12-11 17:51 2309str = str.replaceAll("( ... -
JFreeChart 部分API说明
2009-08-15 11:55 932http://amozon.iteye.com/blog/ ... -
反编译工具
2009-08-14 14:46 1176jad及常用命令 一、基本用法 Usage:jad ... -
JFreeChart
2009-08-10 18:35 11541,柱状图 package xu.chart.demo; ... -
java生成缩略图
2009-07-17 11:02 2313转自:http://wing929.iteye.com/blo ... -
jstl 时间处理
2009-06-24 14:06 1564jstl 中的日期格式化! [转贴 2005-10-25 1 ... -
Java Properties类
2009-05-31 14:26 2065全文转自:http://twtmnm1314.iteye.co ... -
java 的pass by value(传值)
2009-05-13 15:21 1140这里写一下java的值传递 参数是基本类型的时候: cla ... -
快速修改本機局域網IP信息
2009-05-09 13:07 2018在開發過程中,遇到需要頻繁的切換IP的問題。每次手動修改IP需 ... -
double:保留几位小数点
2009-03-06 10:03 2256java.text.DecimalFormat myforma ... -
增加环境内存--java
2009-02-13 14:50 997在eclipse中,在虚拟机环境变量VM arguments中 ... -
javaIO流读繁体中文网页的乱码问题
2009-02-01 17:09 1604IDE:eclipse IDE的编码是UTF-8(开发需要) ... -
学习java.lang.ProcessBuilder类
2009-02-01 17:08 5480近来的工作中,了 ... -
java中DES加密解密例子
2009-02-01 17:07 4176最近在学习一些关于加 ... -
jdk1.5新特性 ConcurrentHashMap
2009-02-01 17:06 7136曾经研究过jkd1.5新特性,其中ConcurrentHash ... -
JAVA实现在图片上写文字
2009-02-01 17:05 4840功能:直接在一张已有的图片上写字,可指定文字颜色。 ...
相关推荐
4.8 Servlets/JSP开发技术问答 93 4.9 Servlet小实例 97 4.5.1实例1(输出) 98 4.5.2实例2(获取表单参数) 99 4.5.3实例3(获取jsp各种参数) 101 4.10 本章小结 103 第2篇 数据库操作 103 ...
Java开发指南-Servlets和JSP篇下载 Java开发指南-Servlets和JSP篇下载
head first servlets&jsp;(第二版)并没有给你一大堆需要死记硬背的条条框框;它能将知识直接送入你的大脑。你会通过不寻常的方式同servlet和jsp打交道,可以学得更深入、更快捷。读完全书后,你会看到一个全新的...
Java开发指南--Servlets和JSP篇
软件介绍 Java开发指南--Servlets和JSP篇(PDG)
Java开发指南-Servlets和JSP篇(PDG) 注意:pdg格式
JSP、Servlets与MySQL开发指南.rar
Servlets和JSP开发原则.pdf
下载积分是CSDN默认的,我没有选择的权力,啊啊啊 Head First Servlets and JSP 中文版 第2版 PDF电子书下载 带书签目录 完整版
Bill Brogden的Java Developer's Guide to Servlets and JSP,翻译成汉语了,电子书格式,内容全面,Servlets API和 JSP API例子实用,很好的参考资料。
Head First Servlets and JSP(中文版) 第三部分(共三部分) 在我的资源下可找到其他两部部分 目录 引子 1 为什么使用Servlets&JSP;:前言与概述 2 Web应用体系结构:高层概述 3 MVC迷你教程:MVC实战 4 ...
Head First Servlets&JSP;-第2版-高清扫描版-带详细书签 高清扫描版,书签比较详细,和目录一样
个人的Head First Servlets & JSP (SCWCD)读书及学习笔记
了解一些servlet和jsp的开发原则,可以为成为一个懂得开发规范的程序员做准备。
Head First Servlets and JSP PDF
Head First Servlets and JSP(中文版) 第二部分(共三部分) 在我的资源下可找到其他两部部分 目录 引子 1 为什么使用Servlets&JSP;:前言与概述 2 Web应用体系结构:高层概述 3 MVC迷你教程:MVC实战 4 ...
深入浅出Servlets&JSP,感兴趣的人看一下吧
你将能很好地掌握Servlet和JSP,顺利通过Sun认证Web组件开发人 员(SCWCD)考试。也许你并不在乎考试,而是要在下一个项目里实际使用Servlet和JSP。你要对付最后期限,而且时间不多了。此时要选精心研读一本书而成为...
Head First Servlets and JSP, 2nd Edition 英文版 第2版