springMVC之前,关于servlet

来源:互联网 发布:大数据比赛 编辑:程序博客网 时间:2024/06/04 20:12

springMVC之前是看过两遍,但也都是跟着书上走配置,然后能跑起来,然后时间久了不用自然就忘了,现在工作上用的是struts2,springMVC有差不多一年的时间没有碰了,所以这次准备从原理上从新梳理一下,springMVC。重新梳理一遍springMVC首先就是把servlet透彻的了解一遍,所以这个写在springMVC之前,复习一下servlet的相关内容。

首先我觉得要搞清楚servlet是干什么的,我现在粗浅的理解,servlet最主要的作用就是把http请求转化为方便java程序识别和利用的东西,以及可以把经过java处理后的东西包装成响应回复给客户端,前者我们称为httpServletRequest,后者便是httpServletResponse。这是servlet最核心的功能,其他的相关类都是为这个功能服务的。

其次要把servlet和servlet容器区分开,我因为一开始接触java就是自己看书,所以对servlet的认知一直很模糊,就是按照书上配一遍,跑起来了,over。随着工作的深入和最近看了一下相关的代码,有了进一步的了解。我认为的servlet就是指javax.servlet包下面的类,接口,配置文件等相关内容,包含servlet,filter,listener接口以及其相关接口。而servlet容器则是一个包含main方法的类似桌面应用程序的东西,我们可以在tomcat的org.apache.catalina.startup包下看到一个bootstrap类,里边包含了一个启动时用的main方法。tomcat启动后就开始不间断的接收定向到当前服务器的绑定端口的请求了。

最后做web项目应该去了解的最主要的部分还是servlet而不是servlet容器,毕竟web项目最主要的是处理用户请求,在没有很深厚的功力的情况下,我们不应该也基本上不必要去修改tomcat的源代码。servlet有三大件,servlet本身,过滤器,监听器(因为平时工作开发基本上都用的是H5+js+ajax所以相关jsp的内容我基本上都跳过了)。监听器比较好理解也比较好实现,但是在我学servlet至始至终没有搞清楚过滤器和servlet实现类的本质上的区别。有些博主在博客中会讲到过滤器不能处理请求,也不能对客户端生成相应。但是过滤器接口中传入了ServletRequest和ServletResponse两个参数,理论上讲可以在filter内对这两个参数做任何处理,为此我试了试各种过滤器处理请求,生成响应,甚至不调用servlet来直接生成响应,都没有问题。所以不能处理请求,也不能对客户端生成相应至少在表述上是有歧义的,表述成不应该更恰当,过滤器可以做到,但是出于代码分层以及封装的考虑,不建议在过滤器内处理业务逻辑相关内容。

本来《Spring in Action》书中高级装配过来是面向切面,但是我觉得现在看面向切面基本上也是走马观花,所以先看springMVC,因为最近在搞一个安卓的小东西,等到了具体的业务逻辑上用到了面向切面在做复习。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子在幼儿园被小朋友咬了怎么办 孩子被同学打了家长该怎么办? 孩子把同学打了打人家长该怎么办 孩子和同学发生矛盾家长该怎么办 孩子同学给孩子要东西家长该怎么办 如果遇到不讲理的孩子和家长怎么办 孩子调皮又被老师留校了怎么办 孩子拼音f和sh发音不清怎么办 自己在家生的孩子怎么办出生证明 在家念地藏经招来众生不走怎么办 家是济宁孩子上学想在济南上怎么办 高一孩子成绩严重下滑家长怎么办 商铺租客不交租金又不搬走怎么办 考试试卷找不到了明天要交怎么办 8个月宝宝不爱吃蔬菜泥怎么办 5个月的宝宝拉肚怎么办 一岁宝宝大便拉不出来怎么办 八个月宝宝便秘拉不出来怎么办 10个月宝宝大便拉水怎么办 4个月的孩子大便拉水怎么办 五个多月宝宝大便拉水怎么办 七个月宝宝大便还没成行怎么办 宝宝一岁了还没长牙怎么办 宝宝什么都会就差不会独占怎么办 两岁宝宝肚子不舒服还吐怎么办 两岁宝宝吃坏肚子吐怎么办 1岁半儿童牙烂了怎么办 一岁宝宝吃了就吐怎么办 两岁宝宝龋齿门牙掉了怎么办 一岁宝宝冻着了呕吐怎么办 两岁宝宝喉咙有痰呼呼响怎么办 1岁宝宝吐的水水怎么办 宝宝吐了5 6次了怎么办 7岁儿童吃了就吐怎么办 狗狗拉稀呕吐不吃饭只喝水怎么办 宝宝吃坏肚子上吐下泄怎么办 一岁宝宝又吐又拉怎么办 八个月宝宝吃什么吐什么怎么办 九个月宝宝吃什么吐什么怎么办 三岁宝宝吃什么吐什么怎么办 2岁宝宝又拉又吐怎么办