博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
个人对B/S项目的一些理解(三)--Servlet与Strust
阅读量:7190 次
发布时间:2019-06-29

本文共 1341 字,大约阅读时间需要 4 分钟。

以下是我自工作以来,结合对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>
 
 

转载于:https://www.cnblogs.com/fri-yu/p/5332052.html

你可能感兴趣的文章
CF1117G Recursive Queries
查看>>
愤怒的小鸟 高清完整版下载
查看>>
解决 border-radius 元素在应用了 transform 的子元素 时overflow:hidden 失效的问题
查看>>
linux命令 dirname
查看>>
8/9
查看>>
Leangoo英文版来了~
查看>>
Leangoo敏捷工具Jenkins配置指南
查看>>
又是一个开始
查看>>
java创建XML及开源DOM4J的使用
查看>>
移动端的拼图游戏
查看>>
installp 软件的4种状态
查看>>
定时清理clientmqueue目录垃圾文件防止占满磁盘空间
查看>>
计算将一个十进制整数转换成二进制含多少个1
查看>>
Flex 当鼠标悬停在DataGrid某行上时用datatoolField显示当前行
查看>>
关于Integer包装类对象之间值的比较
查看>>
7.4 括号匹配
查看>>
nginx + fastDFS 设置开机自动启动
查看>>
腾讯云服务器 安装fastdfs文件服务器
查看>>
经典的计算机语言
查看>>
X5内核浏览器video自动全屏解决办法-canvas
查看>>