- 浏览: 39498 次
- 性别:
- 来自: 上海
最新评论
-
xinghaifeng2006:
首先配置二个连接池:mysqlpool1、mysqlpool2 ...
JTA -
Argun:
那是不是我的struts1都白学了?
Struts1.x和2.X的一些区别 -
魔力猫咪:
下载试用了一下,翻译的还是可以的。不过还是有很多地方没有翻译。 ...
Eclipse语言包下载地址 -
eric2002cn:
Java之static学习 -
eric2002cn:
...
Java之static学习
最近一直在看《java与模式》这本书,虽然只是看了几个相对简单的模式,但是已经感受到设计模式在JAVA EE开发中应用的必要性。现在还不敢发表自己对设计模式的学习心得和看法,一年后吧,相信我经过一年的技术洗礼,我会对设计模式有更深入的了解。之前我写的《学习Tomcat,我们应该懂的》和《学习JSP,我们应该懂的》相信对一些学习JAVA EE的朋友有一定的帮助,现在继续写下这篇《学习Servlet,我们应该懂的》。还是那句,我主要目的是为了自己知识的沉淀,所以文章中知识是不连贯的,如有跳跃的地方你(“你”当然指的是初学者啦)看不懂还请见谅。如有写错,还请指正。 我认为,学技术,首先看最原始的说明文档,那怕你现在是看不明白。搁在这,你学习JAVA EE,你手头必须有两个API,一个是JAVA API,另一个是JAVA EE API。也许你会说,英文的,看不懂。看不懂英文的看中文的,网上有。我就是英文实在是对不起乡亲父老啦,JAVA API也是看中文的,惭愧,不过我JAVA EE API我是看英文的,(需要打开金山词霸,呵,自嘲的笑)。如果你碰到了问题,首先查找一下API,兴许就能解决问题了。
在正式说Servlet之前,先说点JAVA EE的:JAVA EE是一些技术企业(主要是SUN和IBM)联合提出一套技术规范与指南,是一个标准,换言之,SUN公司只是设计了JAVA EE体系中的各种接口和类标准,各个平台开发商按照JAVA EE标准分别开发了不同的JAVA EE应用服务器,也就是说,JAVA EE中的技术规范具体实现是在JAVA EE应用服务器上的。Tomcat就是一个符合JAVA EE标准的应用服务器,我们可以在Tomcat安装根目录下common\lib中找到相关的jar文件。Servlet是在JAVA EE标准之中的,你会在common\lib中找到servlet-api.jar这个文件,它就是Servlet在Tomcat服务器中的实现。虽然你不了解这个也能学好Servlet,但是我觉得知道了对你学习JAVA EE会有帮助,毕竟Servlet不是孤立的,它和很多技术有关联,譬如说和Tomcat容器就有关系,懂了他们你会更容易将各种知识点串起来。读到这里,你是否觉到JAVA EE扩展性很好啊,如果你将来有能力了,你也可以开发一个自己专用的JAVA EE服务器,呵呵。但同时这也给JAVA EE的学习带来一定的困惑,凡事有利必有弊,都需要权衡得失,做出选择。我觉得JAVA这样挺好的,而不像微软:你只需学习我Microsoft给你提供的知识足够了,我是老大我做主,我的地盘听我的,但.net体系的确相对好学很多(没学过,网上的朋友都这么说)。
Servlet是什么?它的有哪些特点?“Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。”这是网上查找的一个答案,如需更详细的答案,百度一下,你就知道。本来打算按照一定的顺序说的,想想看,还是按知识点来说比较好点。
一、 Servlet的生命周期
这个是Servlet必说的知识点,我也不能免俗,也试着用自己的语言讲讲。当然,这方面的内容你上网找也很多,你大可不必看我的。
假如你已经安装好了Eclipse或者其他IDE,现在就建一个Servlet文件试试看,你会发现建立的Servlet会默认继承javax.servlet.http.HttpServlet类,就算你没有安装Eclipse也无所谓,知道我们编写的Servlet是需要继承javax.servlet.http.HttpServlet类就可以啦。
现在打开这个类看看,看看Servlet的老爸长得如何,public abstract class HttpServlet extends GenericServlet implements Serializable; 从这看得出,Servlet还有一个爷爷,它是javax.servlet.GenericServlet,还实现了一个序列化的功能(java.io.Serializable),序列化的就不说啦,老实说,我也没用过序列化这功能,仅处于知道有这个地球上有这么一个东西而已。再接着看看Servlet爷爷长得是啥样,public abstract class GenericServlet extends Object implements Servlet, ServletConfig, Serializable; 我们这需要留意的是Servlet的爷爷是实现了Servlet的接口的,你打开Servlet接口,里面有这样一句话:Defines methods that all servlets must implement. 换一句话,它是Servlet的老祖宗,所有的Servlet必须要实现这个接口,要不就不能称之为Servlet。我们Web用的HTTP协议所以就是HttpServlet,同样的道理,如果将来出现XTTP协议,也许你会看到一个XttpServlet,它必定也是实现了Servlet接口(当然啦,技术出现了大变革除外)。Servlet的爸爸,爷爷的方法这么多,不可能每一个都说。就挑一些常用的(也就是Servlet生命周期的几个函数)说说:
void init(); Servlet初始化
void service (ServletRequest req, ServletResponse res);
void doGet (ServletRequest req, ServletResponse res);
void doPost (ServletRequest req, ServletResponse res);
…………
Servlet各种服务
void destroy(); Servlet的销毁
看一张图片先:
这是网上找来的图片,不过我个人觉得还是李兴华老师(一个我很喜欢的老师)说的好。
记得李老师当时是这样说的:Servlet的生命周期其实就是人一生的写照,Tomcat就是这个社会。人的经历首先是从出生开始的,对Servlet而言就是调用init()方法,想想看,人的一生能出生多少次啊?就一次,Servlet中init()的方法也只能调用一次,一般都是在Servlet第一次运行时加载init()方法,你也可以设置为服务器启动的时候加载。人出生后,随着年纪的增长,你就必须得投入到工作去,身体有缺陷的例外,而且工作不是说你只做一次,只要有需要,你就必须得做,重复的做。BOOS的命令,谁敢不服从,要不立刻吵你鱿鱼。对Servlet而言也是一样,只是它没有抵触情绪而已,哈。它也是不断的运行doGet(), doPost()等方法,当中有可能出现异常。人总有一天是会死亡的,死亡的确定有两种,一种是的的确确死了,他的尸体就躺在你面前,另外一种是他失踪了多少年,从法律的角度上判断,他是死亡了,他的老婆拥有了合法改嫁的权利。对Servlet而言,它的死亡方式也有两种:一种是服务器关闭,也就是的的确确死了,另外一种是该Servlet长时间不使用,Tomcat判断其死亡,Servlet的生命周期到此结束。
PS: get和post的方法联系与区别
Get的方式是指请求是通过地址栏和表单传过来的,而post只能通过表单传过来。Get可以传的信息的大小有限定,不适合传体积较大的文件,如图片,视频等。
生命周期说完,接着说Servlet在web.xml的配置
二、 Servlet在web.xml中的配置
Servlet在MVC模式中主要是负责C-control的,既然如此,服务器是需要知道在什么时候具体调用那一个Servlet。JSP就直接可以通过在地址栏输入其名字就可以找到了,Servlet还需要在你的项目中WEB-INF中找到web.xml文件,将Servlet映射到里面去。如何映射?假如你编了个com.xibianyu.servlet.LoginServlet的Servlet,而你希望通过在地址栏中输入login便可以找到该Servlet。你可以如此设置,在<web – app />中加入下面代码:
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>com.xibianyu.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> loginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
其实<servlet/>中的<servlet-name>和<servlet-mapping>中的<servlet-name>要求一致。至于<servlet-name>、<servlet-class>、<servlet-mapping>、<url-pattern>等分别是什么意思,相信聪明如你,看名字就能猜出个大概,再加上百度一下,什么问题都没啦。在说生命周期的时候说过可以设置Servlet在容器启动时初始化,将刚才的代码改为如下:
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>com.xibianyu.servlet.LoginServlet</servlet-class>
<load-on-startup>0</load-on-startup>
<init-param>
<param-name>param1</param-name>
<param-value>xhzilie</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name> loginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
“<load-on-startup>0</load-on-startup>”中的0是一个优先级来的,数值越大优先级越低。当中红色的那部分是设置初始化参数的。
如果应用Servlet,还有个地方需要注意的:Servlet编译后 的class文件必须得放在WEB-INF/classes中。
三、 Servlet中两种跳转的区别
这其实和JSP中两种跳转是一样的,也分一种是服务器跳转,其表现为:request.getRequestDispatcher().forward();另外一种是客户端跳转,其表现为:HttpServletResponse.sendRedirect()。前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址,他是不会改变Request的值,如果你需要在下一个页面中能从中获取新的信息的话,你可以Request.setAttribute()来放置一些标志,这样从下一个页面中获取;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用 HttpServletResponse.sendRequest()方法。(PS:这是从网下copy,我觉得已经说的很清楚了,所以就没有自己再写了)。
四、 其他
Servlet中,我们还需要懂的有
1. 过滤器的使用
主要用处如:屏蔽非法文字,统一编码等
2. 监听器的使用
统计在线人数
…………………
因为在之前项目中都没怎么用到过滤器和监听器,不是很熟悉。大家如想了解就查看API文档或者查阅相关资料吧,大家一起进步。
五、 题外话:初学者使用IDE之我见
之前在《学习JSP,我们应该懂的》里面提到“我是赞同初学者一开始就用Eclipse等IDE的”,今天就这个问题说说自己的看法,个人推荐Eclipse。听说NetBeans现在也做得很好了,找个时间也试用一下。我之所以赞同初学者用IDE有以下原因:
1、 使用IDE能吸引初学者学习的兴趣,可以很快的将一些小程序跑起来。曾经听过这样的表达:人从来都是这样,是在一个又一个成功中前进,成功对于鼓励人的士气肯定大过失败。使用IDE,初学者看到自己的程序跑起来,会鼓励着自己继续学习。就拿Servlet为例:要使的Servlet能在JDK中编译,你还需要把Servlet的包servlet-api.jar 复制到JDK的jre\lib\ext中。初学者还需要阅读一定的资料(在这过程中有人会放弃学习java的)才能明白个中道理。但是如果你使用了IDE,这些就不用自己设置啦,你可以立刻让Servlet跑起来。
2、 反对初学者使用IDE的一个典型理由是:使用了IDE使得学习者不能深入了解程序的运行。这就得见人见智,我相信随着初学者学习的深入,很多技术相对低层的知识也会碰到,并且可以掌握好,并不会因为IDE的存在而使得了解更困难。无可否认的是,有的人是因为IDE都帮他弄好,他也懒得理会其他的了,我想这部分人中如果不用IDE,他也一样不会很深入学习相对低层的java知识的。
3、 一开始就使用IDE,我们可以很快就找相对简单的项目来做,技术是在做项目中前进的。如果不使用IDE,不知道要学到猴年马月才能做项目,这就要看修行的慧根啦。
综合权衡得失,我赞同初学者使用IDE。
在正式说Servlet之前,先说点JAVA EE的:JAVA EE是一些技术企业(主要是SUN和IBM)联合提出一套技术规范与指南,是一个标准,换言之,SUN公司只是设计了JAVA EE体系中的各种接口和类标准,各个平台开发商按照JAVA EE标准分别开发了不同的JAVA EE应用服务器,也就是说,JAVA EE中的技术规范具体实现是在JAVA EE应用服务器上的。Tomcat就是一个符合JAVA EE标准的应用服务器,我们可以在Tomcat安装根目录下common\lib中找到相关的jar文件。Servlet是在JAVA EE标准之中的,你会在common\lib中找到servlet-api.jar这个文件,它就是Servlet在Tomcat服务器中的实现。虽然你不了解这个也能学好Servlet,但是我觉得知道了对你学习JAVA EE会有帮助,毕竟Servlet不是孤立的,它和很多技术有关联,譬如说和Tomcat容器就有关系,懂了他们你会更容易将各种知识点串起来。读到这里,你是否觉到JAVA EE扩展性很好啊,如果你将来有能力了,你也可以开发一个自己专用的JAVA EE服务器,呵呵。但同时这也给JAVA EE的学习带来一定的困惑,凡事有利必有弊,都需要权衡得失,做出选择。我觉得JAVA这样挺好的,而不像微软:你只需学习我Microsoft给你提供的知识足够了,我是老大我做主,我的地盘听我的,但.net体系的确相对好学很多(没学过,网上的朋友都这么说)。
Servlet是什么?它的有哪些特点?“Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。”这是网上查找的一个答案,如需更详细的答案,百度一下,你就知道。本来打算按照一定的顺序说的,想想看,还是按知识点来说比较好点。
一、 Servlet的生命周期
这个是Servlet必说的知识点,我也不能免俗,也试着用自己的语言讲讲。当然,这方面的内容你上网找也很多,你大可不必看我的。
假如你已经安装好了Eclipse或者其他IDE,现在就建一个Servlet文件试试看,你会发现建立的Servlet会默认继承javax.servlet.http.HttpServlet类,就算你没有安装Eclipse也无所谓,知道我们编写的Servlet是需要继承javax.servlet.http.HttpServlet类就可以啦。
现在打开这个类看看,看看Servlet的老爸长得如何,public abstract class HttpServlet extends GenericServlet implements Serializable; 从这看得出,Servlet还有一个爷爷,它是javax.servlet.GenericServlet,还实现了一个序列化的功能(java.io.Serializable),序列化的就不说啦,老实说,我也没用过序列化这功能,仅处于知道有这个地球上有这么一个东西而已。再接着看看Servlet爷爷长得是啥样,public abstract class GenericServlet extends Object implements Servlet, ServletConfig, Serializable; 我们这需要留意的是Servlet的爷爷是实现了Servlet的接口的,你打开Servlet接口,里面有这样一句话:Defines methods that all servlets must implement. 换一句话,它是Servlet的老祖宗,所有的Servlet必须要实现这个接口,要不就不能称之为Servlet。我们Web用的HTTP协议所以就是HttpServlet,同样的道理,如果将来出现XTTP协议,也许你会看到一个XttpServlet,它必定也是实现了Servlet接口(当然啦,技术出现了大变革除外)。Servlet的爸爸,爷爷的方法这么多,不可能每一个都说。就挑一些常用的(也就是Servlet生命周期的几个函数)说说:
void init(); Servlet初始化
void service (ServletRequest req, ServletResponse res);
void doGet (ServletRequest req, ServletResponse res);
void doPost (ServletRequest req, ServletResponse res);
…………
Servlet各种服务
void destroy(); Servlet的销毁
看一张图片先:
这是网上找来的图片,不过我个人觉得还是李兴华老师(一个我很喜欢的老师)说的好。
记得李老师当时是这样说的:Servlet的生命周期其实就是人一生的写照,Tomcat就是这个社会。人的经历首先是从出生开始的,对Servlet而言就是调用init()方法,想想看,人的一生能出生多少次啊?就一次,Servlet中init()的方法也只能调用一次,一般都是在Servlet第一次运行时加载init()方法,你也可以设置为服务器启动的时候加载。人出生后,随着年纪的增长,你就必须得投入到工作去,身体有缺陷的例外,而且工作不是说你只做一次,只要有需要,你就必须得做,重复的做。BOOS的命令,谁敢不服从,要不立刻吵你鱿鱼。对Servlet而言也是一样,只是它没有抵触情绪而已,哈。它也是不断的运行doGet(), doPost()等方法,当中有可能出现异常。人总有一天是会死亡的,死亡的确定有两种,一种是的的确确死了,他的尸体就躺在你面前,另外一种是他失踪了多少年,从法律的角度上判断,他是死亡了,他的老婆拥有了合法改嫁的权利。对Servlet而言,它的死亡方式也有两种:一种是服务器关闭,也就是的的确确死了,另外一种是该Servlet长时间不使用,Tomcat判断其死亡,Servlet的生命周期到此结束。
PS: get和post的方法联系与区别
Get的方式是指请求是通过地址栏和表单传过来的,而post只能通过表单传过来。Get可以传的信息的大小有限定,不适合传体积较大的文件,如图片,视频等。
生命周期说完,接着说Servlet在web.xml的配置
二、 Servlet在web.xml中的配置
Servlet在MVC模式中主要是负责C-control的,既然如此,服务器是需要知道在什么时候具体调用那一个Servlet。JSP就直接可以通过在地址栏输入其名字就可以找到了,Servlet还需要在你的项目中WEB-INF中找到web.xml文件,将Servlet映射到里面去。如何映射?假如你编了个com.xibianyu.servlet.LoginServlet的Servlet,而你希望通过在地址栏中输入login便可以找到该Servlet。你可以如此设置,在<web – app />中加入下面代码:
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>com.xibianyu.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> loginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
其实<servlet/>中的<servlet-name>和<servlet-mapping>中的<servlet-name>要求一致。至于<servlet-name>、<servlet-class>、<servlet-mapping>、<url-pattern>等分别是什么意思,相信聪明如你,看名字就能猜出个大概,再加上百度一下,什么问题都没啦。在说生命周期的时候说过可以设置Servlet在容器启动时初始化,将刚才的代码改为如下:
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>com.xibianyu.servlet.LoginServlet</servlet-class>
<load-on-startup>0</load-on-startup>
<init-param>
<param-name>param1</param-name>
<param-value>xhzilie</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name> loginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
“<load-on-startup>0</load-on-startup>”中的0是一个优先级来的,数值越大优先级越低。当中红色的那部分是设置初始化参数的。
如果应用Servlet,还有个地方需要注意的:Servlet编译后 的class文件必须得放在WEB-INF/classes中。
三、 Servlet中两种跳转的区别
这其实和JSP中两种跳转是一样的,也分一种是服务器跳转,其表现为:request.getRequestDispatcher().forward();另外一种是客户端跳转,其表现为:HttpServletResponse.sendRedirect()。前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址,他是不会改变Request的值,如果你需要在下一个页面中能从中获取新的信息的话,你可以Request.setAttribute()来放置一些标志,这样从下一个页面中获取;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用 HttpServletResponse.sendRequest()方法。(PS:这是从网下copy,我觉得已经说的很清楚了,所以就没有自己再写了)。
四、 其他
Servlet中,我们还需要懂的有
1. 过滤器的使用
主要用处如:屏蔽非法文字,统一编码等
2. 监听器的使用
统计在线人数
…………………
因为在之前项目中都没怎么用到过滤器和监听器,不是很熟悉。大家如想了解就查看API文档或者查阅相关资料吧,大家一起进步。
五、 题外话:初学者使用IDE之我见
之前在《学习JSP,我们应该懂的》里面提到“我是赞同初学者一开始就用Eclipse等IDE的”,今天就这个问题说说自己的看法,个人推荐Eclipse。听说NetBeans现在也做得很好了,找个时间也试用一下。我之所以赞同初学者用IDE有以下原因:
1、 使用IDE能吸引初学者学习的兴趣,可以很快的将一些小程序跑起来。曾经听过这样的表达:人从来都是这样,是在一个又一个成功中前进,成功对于鼓励人的士气肯定大过失败。使用IDE,初学者看到自己的程序跑起来,会鼓励着自己继续学习。就拿Servlet为例:要使的Servlet能在JDK中编译,你还需要把Servlet的包servlet-api.jar 复制到JDK的jre\lib\ext中。初学者还需要阅读一定的资料(在这过程中有人会放弃学习java的)才能明白个中道理。但是如果你使用了IDE,这些就不用自己设置啦,你可以立刻让Servlet跑起来。
2、 反对初学者使用IDE的一个典型理由是:使用了IDE使得学习者不能深入了解程序的运行。这就得见人见智,我相信随着初学者学习的深入,很多技术相对低层的知识也会碰到,并且可以掌握好,并不会因为IDE的存在而使得了解更困难。无可否认的是,有的人是因为IDE都帮他弄好,他也懒得理会其他的了,我想这部分人中如果不用IDE,他也一样不会很深入学习相对低层的java知识的。
3、 一开始就使用IDE,我们可以很快就找相对简单的项目来做,技术是在做项目中前进的。如果不使用IDE,不知道要学到猴年马月才能做项目,这就要看修行的慧根啦。
综合权衡得失,我赞同初学者使用IDE。
发表评论
-
Struts1.x和2.X的一些区别
2008-04-21 21:59 3101Struts 从1.1都升成2了, ... -
XML Schema 与 XML DTD的技术比较与分析
2008-04-21 21:59 1813XML DTD是目前使用最广泛 ... -
JTA
2008-04-21 21:58 1584通过webwork+spring+hibernatep实现分布 ... -
equals()和hashCode()
2008-04-21 21:57 909在Java语言中,equals()和hashCode()两个函 ... -
Difference between Abstract & Interface
2008-04-20 23:00 1019Difference between Abstract &am ... -
Java线程
2008-04-18 00:05 891首先要理解线程首先需 ... -
httpSession的正确理解
2008-01-12 03:16 1061关于HttpSession的误解实在是太多了,本来是一个很简单 ... -
Java之static学习
2008-01-12 03:15 1997对于学习static我们先来 ... -
java序列化
2008-01-12 03:11 2178序列化是什么: 序列化就是将一个对象的状态(各个属性量)保存 ... -
JAVA语言的反射和内省
2008-01-02 02:48 660很多朋友在深入的接触 JAVA 语言后就会发现这样两个词:反射 ... -
Java中的内部类和匿名类
2008-01-02 02:37 1097Java中的内部类和匿名类 提起Java内部类(Inner ... -
Java中static、this、super、final用法
2008-01-02 02:33 668Java中static、this、super、 ... -
什么是JVM
2008-01-02 02:30 878在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一 ... -
类中的static块的用法
2007-12-30 18:43 2333类中的static块的用法public class YSF{ ... -
100以内素数
2007-12-25 02:11 1172public class Test { public sta ...
相关推荐
Servlet 工作原理解析Servlet 工作原理解析Servlet 工作原理解析
Servlet原始码与解析 目前的我理解的Servlet生命周期: Request(POST / GET,HttpSession)-(HTTP)-> [Servlet(create,service(doGet,doPost),destroy)]-(HTTP)->响应单击访问Java Servlet 4.0的官方...
Servlet 容器如何解析你在 web.xml 中定义的 Servlet ?用户的请求是如何被分配给指定的 Servlet 的? Servlet 容器如何管理 Servlet 生命周期?你还将了解到最新的 Servlet 的 API 的类层次结构,以及 Servlet 中...
servlet+tomcat面试题及答案解析
Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有...
servlet上传文件详细解析 大家好好看
Servlet 处理 AJAX中传递的JSON格式参数,JSON中含有JSONArray!在网上搜索资源时发现没有相关内容,所以自己写了一下跟大家一起分享!如有雷同,纯属巧合!第一次传资源,有不好的地方希望大家提出建议!
Servlet3.0新特性解析_03_Servlet3.0监听器、过滤器实现方式详解及Servlet的动态注册剖析
Servlet利用SAX解析XML文档,JAX,JSWDP,Servlet利用SAX解析XML文档
本书编写主要目的在于翻译官方`spring.io`关于`SpringFramework`模块文档之核心篇,但是本书不仅仅是简单的翻译,我会根据相应的模块给出一些代码的操作实践以及给出相应的源码分析,`SpringFramework`文档我个人...
Servlet3.0新特性解析_01_Servlet3.0新特性深度解析、Servlet注解详解
jQuery_Ajax_Servlet全解析jQuery_Ajax_Servlet全解析
Servlet API 中文参考 chm,涉及Servet资料资料、API介绍,讲述Servlets概论、生命周期、解析和载入、初始化、 Servlet处理请求、多线程和映射、Servlet的卸载、Servlet映射技术、通... Servlet API 中文参考 chm,...
Servlet工作原理解析PDF版,是从IBM开发者的文章中转载的,希望对大家有所帮助!
JSP/Servlet数据库分页原理解析源码下载,注释详尽、简单易懂 将下载后的压缩文件解压后可以得到page_csdn文件夹,用eclipse导入即可,运行之前请运行page.sql数据库脚本,我使用的是MySQL数据库。 部署到Tomcat...
servlet 生命周期 原理详解