个人对B/S项目的一些理解(三)--Servlet与Strust
2016-03-29 10:39
471 查看
以下是我自工作以来,结合对C/S项目的认知,对B/S项目的一些理解。
如有不足或者错误,请各位指正。
由于个人一开始入门时是ASP.NET MVC,是一个比较完善、完整的框架,下面仅对JAVA的web应用框架进行简单介绍。
对于JEE Servlet
每写一个功能,都需要写一个servlet,然后执行servlet的service方法,对逻辑进行处理,然后返回结果。
大量的重复性工作。
一个servlet只能做一个功能,是不是有点太浪费了。
我们可以对Servlet进行功能增加。
首先,我们看HttpServlet(现在写的servlet大都继承这个类)的方法
继承这个类的servlet只要重写
doGet(HttpServletRequest req, HttpServletResponse resp)
doPost(HttpServletRequest req, HttpServletResponse resp)
方法即可处理页面请求的Get跟Post请求。
HttpServlet的service()方法,默认实现的是通过获取request里面的httpMethod,判断页面访问方式是Get还是Post 来执行doGet或者doPost方法。
ASP.NET MVC在controller上面写[HttpGet]、[HttpPost]的声明,本质上也是对方法进行声明,分别处理Get 、Post请求。
参考HttpServlet的service()方法的实现,我们也可以尝试从request里面拿参数,然后根据参数,我们去执行我们自己的方法,从而实现对servlet的多次利用,功能扩充。
Struts 做的就是这样的工作,获取url,然后按照约定好的配置,得到要执行的servlet及执行的servlet的方法。
<action name="userAdd" class="com.demo.user.action.UserAction" method="add">
<result>/user_add_success.jsp</result>
</action>
<action name="userDel" class="com.demo.user.action.UserAction" method="del" >
<result>/user_del_success.jsp</result>
</action>
同时进行了扩充,不用再在代码里面进行视图的返回,可以根据方法处理结果的不同,返回不同的视图,进一步实现页面与视图的解耦
<action name = "LoginAction" class = "com.demo.login.LoginServlet" >
<result name = "input">/login.jsp</result>
<result name = "error">/error.jsp</result>
<result name = "success">/main.jsp</result>
</action>
如有不足或者错误,请各位指正。
由于个人一开始入门时是ASP.NET MVC,是一个比较完善、完整的框架,下面仅对JAVA的web应用框架进行简单介绍。
对于JEE Servlet
每写一个功能,都需要写一个servlet,然后执行servlet的service方法,对逻辑进行处理,然后返回结果。
大量的重复性工作。
一个servlet只能做一个功能,是不是有点太浪费了。
我们可以对Servlet进行功能增加。
首先,我们看HttpServlet(现在写的servlet大都继承这个类)的方法
继承这个类的servlet只要重写
doGet(HttpServletRequest req, HttpServletResponse resp)
doPost(HttpServletRequest req, HttpServletResponse resp)
方法即可处理页面请求的Get跟Post请求。
HttpServlet的service()方法,默认实现的是通过获取request里面的httpMethod,判断页面访问方式是Get还是Post 来执行doGet或者doPost方法。
ASP.NET MVC在controller上面写[HttpGet]、[HttpPost]的声明,本质上也是对方法进行声明,分别处理Get 、Post请求。
参考HttpServlet的service()方法的实现,我们也可以尝试从request里面拿参数,然后根据参数,我们去执行我们自己的方法,从而实现对servlet的多次利用,功能扩充。
Struts 做的就是这样的工作,获取url,然后按照约定好的配置,得到要执行的servlet及执行的servlet的方法。
<action name="userAdd" class="com.demo.user.action.UserAction" method="add">
<result>/user_add_success.jsp</result>
</action>
<action name="userDel" class="com.demo.user.action.UserAction" method="del" >
<result>/user_del_success.jsp</result>
</action>
同时进行了扩充,不用再在代码里面进行视图的返回,可以根据方法处理结果的不同,返回不同的视图,进一步实现页面与视图的解耦
<action name = "LoginAction" class = "com.demo.login.LoginServlet" >
<result name = "input">/login.jsp</result>
<result name = "error">/error.jsp</result>
<result name = "success">/main.jsp</result>
</action>
相关文章推荐
- [设计模式]单例模式
- java事件处理机制(自定义事件)
- spring security源码分析之一springSecurityFilterChain
- 复制网页中文字的方法
- 20160328作业
- Ajax传递路径问题及解决
- Kinect&OpenNI开发(二) OpenCV实时显示手部位置数据
- TextView实现一行居中显示,多行居左显示
- Android控件之CheckBox、RadioGroup、RadioButton
- 欢迎使用CSDN-markdown编辑器
- Java中equals和==的区别
- centos6下nginx+多tomcat负载均衡+jdk+iptables+redis安装配置详细说明
- OSG相关扩展工程
- 个人对B/S项目的一些理解(二)
- Ambari安装Hadoop集群
- C++解决大整数相加问题
- Android酷炫UI效果
- 3月“.我爱你”域名总量:排名有变化 整体增速缓慢
- IntentService: Providing data back to Activity #android
- 贪心算法8之1017