浏览 2318 次
锁定老帖子 主题:Spring MVC入门小例子
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2014-01-01
入门Spring MVC也有一段时间了,今天写篇文章总结一下 。
web.xml里的配置如下: <pre name="code" class="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"&gt; &lt;display-name&gt;&lt;/display-name&gt; &lt;servlet&gt; &lt;!-- 第一个首先调用的前端控制器,注意与WEB-INFO下servlet的xml相对应 --&gt; &lt;servlet-name&gt;chapter2&lt;/servlet-name&gt; &lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet&lt;/servlet-class&gt; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;chapter2&lt;/servlet-name&gt; &lt;url-pattern&gt;/&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; &lt;servlet&gt; &lt;servlet-name&gt;forwarding&lt;/servlet-name&gt; &lt;servlet-class&gt;com.qin.sanxian.ForwardServlet&lt;/servlet-class&gt; &lt;/servlet&gt; &lt;!-- 处理post提交的乱码解决 --&gt; &lt;filter&gt; &lt;filter-name&gt;CharacterEncodingFilter&lt;/filter-name&gt; &lt;filter-class&gt;org.springframework.web.filter.CharacterEncodingFilter&lt;/filter-class&gt; &lt;init-param&gt; &lt;param-name&gt;encoding&lt;/param-name&gt; &lt;param-value&gt;utf-8&lt;/param-value&gt; &lt;/init-param&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;CharacterEncodingFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; &lt;welcome-file-list&gt; &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt; &lt;/welcome-file-list&gt; &lt;/web-app&gt; </pre> chapter2-servlet.xml里面的配置如下: <pre name="code" class="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"&gt; &lt;!-- 第二步调用 HandlerMapping --&gt; &lt;bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/&gt; &lt;!--第三步调用 HandlerAdapter --&gt; &lt;bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/&gt; &lt;!-- 第六步调用 ViewResolver --&gt; &lt;bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&gt; &lt;property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/&gt; &lt;property name="prefix" value="/WEB-INF/jsp/"/&gt; &lt;property name="suffix" value=".jsp"/&gt; &lt;/bean&gt; &lt;!-- 第七步调用 到/web-info下面映射到hello.jsp,进而渲染页面 --&gt; &lt;!-- 处理器 --&gt; &lt;bean name="/hello" class="com.qin.sanxian.HelloWorldController"&gt; &lt;!-- 仅支持post提交提交表单的支持 &lt;property name="supportedMethods" value="POST"&gt;&lt;/property&gt;--&gt; &lt;/bean&gt; &lt;bean name="/forward" class="org.springframework.web.servlet.mvc.ServletForwardingController"&gt; &lt;property name="servletName" value="forwarding"&gt;&lt;/property&gt; &lt;/bean&gt; &lt;bean name="/abstractCommand" class="com.qin.sanxian.MyCommandController"&gt; &lt;!-- 也可以通过依赖注入 注入命令实现类 --&gt; &lt;!-- property name="commandClass" value="cn.javass.chapter4.model.UserModel"/--&gt; &lt;/bean&gt; &lt;!-- 表单的控制器 --&gt; &lt;bean name="/simpleForm" class="com.register.ReginsterController"&gt; &lt;property name="formView" value="register"&gt;&lt;/property&gt; &lt;property name="successView" value="redirect:/success"&gt;&lt;/property&gt; &lt;/bean&gt; &lt;!-- 处理成功的页面 --&gt; &lt;bean name="/success" class="com.qin.sanxian.SuccessController"&gt;&lt;/bean&gt; &lt;bean name="/mutilRegister" class="com.mutilregister.MultiRegisterController"&gt; &lt;property name="pages"&gt; &lt;list&gt; &lt;value&gt;wizard/baseinfo&lt;/value&gt; &lt;value&gt;wizard/schoolinfo&lt;/value&gt; &lt;value&gt;wizard/workinfo&lt;/value&gt; &lt;/list&gt; &lt;/property&gt; &lt;/bean&gt; &lt;/beans&gt; </pre> 控制器demo <pre name="code" class="java">package com.qin.sanxian; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; /** * *hellowrod控制器 * **/ public class HelloWorldController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { //1,收集参数,验证参数 //2,绑定参数到命令对象 //3,将命令对象传入业务对象进行业务处理 //4,选择下一个页面 //ModelAndView mv=new ModelAndView(); //添加模型数据,可以是任意的POJO对象 //mv.addObject("message", "Hellow Wordld!"); //设置逻辑视图名,视图解析器,会根据此名字,解析到对应的视图页面 /** * * 第五步返回 根据此名字 * */ //mv.setViewName("hello"); arg1.getWriter().write("abc"); return null; } } </pre> 项目的目录结构如下截图: 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |