我的对B/S项目的一些理解(三)--Servlet与Strust

如下是我自工做以来,结合对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>
相关文章
相关标签/搜索