了解下JAVA的Spring MVC中的MultiActionController用法详解
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。SpringMVC中Controller的条理其实是多,有些头昏眼花了。在单个的基本上,再新加两三个叫做丰厚,再多就一定是功德,反而会使人缩手旧事片脚,无从决断。多半Controller都是只完成一个义务,不外也有一个像Struts的DispatchAction的那样的Conntroller,org.springframework.web.servlet.mvc.multiaction.MultiActionController,意即在一个Controller中处置多个举措,好像一个营业的增、删、改能够放在一同了。不至于增、删、改各不相谋,形成代码凌乱、反复难以保护。
本文中的web.xml的org.springframework.web.servlet.DispatcherServlet所处置的url-pattern是*.html,怎样搭建SpringMVC项目不细加申明,可参考我后面同系列的文章。
比方,上面的UserController,有两个署名一样的updateUser()和deleteUser()办法
publicclassUserControllerextendsMultiActionController{
publicModelAndViewupdateUser(HttpServletRequestrequest,
HttpServletResponseresponse){
System.out.println("updateUser");//便利于跟踪执行了哪一个办法
returnnewModelAndView("userList","from","updateUser");
}
publicModelAndViewdeleteUser(HttpServletRequestrequest,
HttpServletResponseresponse){
System.out.println("deleteUser");//便利于跟踪执行了哪一个办法
returnnewModelAndView("userList","from","deleteUser");
}
}
publicclassUserControllerextendsMultiActionController{
publicModelAndViewupdateUser(HttpServletRequestrequest,
HttpServletResponseresponse){
System.out.println("updateUser");//便利于跟踪实行了哪个办法
returnnewModelAndView("userList","from","updateUser");
}
publicModelAndViewdeleteUser(HttpServletRequestrequest,
HttpServletResponseresponse){
System.out.println("deleteUser");//便利于跟踪实行了哪个办法
returnnewModelAndView("userList","from","deleteUser");
}
}
用过Struts的DispatchAction的都晓得,是经由过程http://.../userAction.do?method=updateUser的体例来指定执行哪一个办法。那SpringMVC中是怎样定位到所需办法上呢?
SpringMVC除有一个叫做HandlerMapping(把URL剖析到Controller)的工具,还要把操纵进一步剖析到办法名上,即要找到的Controller上的哪一个办法并实行之。缺省的办法名剖析器是InternalPathMethodNameResolver,它依据URL款式剖析办法名。
在缺省的BeanNameUrlHandlerMapping和缺省的InternalPathMethodNameResolver和谐之下,Bean高低文能够这样设置:
<beanname="/updateUser.html"class="com.unmi.UserController"/>
<beanname="/deleteUser.html"class="com.unmi.UserController"/>
<beanname="/updateUser.html"class="com.unmi.UserController"/>
<beanname="/deleteUser.html"class="com.unmi.UserController"/>
如许分离经由过程上面的URL就可以实行到准确的办法上往了:
http://.../updateUser.html -- 将被UserController.updateUser()处置
http://.../deleteUser.html -- 将被UserController.deleteUser()处置
<p>
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试) 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 是一种使网页(Web Page)产生生动活泼画面的语言 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
页:
[1]