标签:
最近(2014年底)关于现下流行的框架,自己做个整合,如果有想自己写个框架的,可以参考下,包含内容
1)MVC框架(SpringMVC)
<!-- spring Mvc配置 --> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/default.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping></span>在default.xml下把bean对象创建出来,我们采用注解的方式
<!-- 启动spring mvc注解功能 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" lazy-init="false" /> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />选择扫描包路径,我们把dao、service、action 3层的包都扫描一遍
<!-- 设置使用注解的类所在的package包 --> <context:component-scan base-package="com.mysi.dao"></context:component-scan> <context:component-scan base-package="com.mysi.service"></context:component-scan> <context:component-scan base-package="com.mysi.action"></context:component-scan>bean初始化之后,请求根据转向路径进入不同的action,在控制器把请求交给action去处理之前,会将请求参数封装成一个参数对象,在spring里面就是一个ModelAndView对象(spring参数对象颇多,此处先用ModelAndView做例,下面会详细介绍),用来替代struts2繁琐的属性封装,ModelAndView=model+view,model就是他作为容器和页面共享数据的意思(其实他们都相当于一个参数对象的map而已),view是指Action执行完后要返回的结果视图,当然这个视图和struts2一样也可以是一个字符串,再通过路径解析找到页面
<!-- 对转向页面的路径解析 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/jsp/" p:suffix=".jsp"/>
@Controller public class MainAction { @RequestMapping("/mainPage") //如果你要返回一个string作为结果视图,那么你需要把一个modelMap作为参数,把对象共享在容器中 public String mainPage(HttpServletRequest request,ModelMap modelMap) { String message = request.getParameter("message"); modelMap.addAttribute("message",message); return "main/main"; } @RequestMapping("/mainPage1") //如果你返回一个ModelAndView那么把共享的对象放在ModelAndView里面(此时没有路径解析) public ModelAndView mainPage1(HttpServletRequest request) { String message = request.getParameter("message"); ModelMap modelMap = new ModelMap(); modelMap.addAttribute("message",message); return new ModelAndView("forward:jsp/main/main.jsp",modelMap); } }在页面上接收message直接采用${message}即可。
标签:
原文地址:http://blog.csdn.net/xixiaoming_a/article/details/43238831