开发工具:Myeclipse 8.5,jdk1.6,Tomcat7.0
1、建立WebProject项目,导入Spring 3.2.3相关jar包
2、在web.xml中配置前端控制器,DispatcherServlet。
<servlet> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <servlet-name>springmvc</servlet-name> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
3、在WEB-INF文件夹下创建SpringMvc的配置文件,文件名称为步骤2中的【servlet-name】-servlet.xml,例子中的配置文件名称为“springmvc-servlet.xml”需要补充配置文件头
<beans xmlns="http:
4、在SpringMvc的配置文件中编写HandlerMap的bean配置,此处例子是根据beanName查找Controller。
<!-- 设置HandleMapping 根据BeanName找到对应的Controller --> <bean id="urlMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> </bean>
5、创建Controller,同时在控制器中,根据ModelAndView设置返回的页面及参数。
public class HelloController extends AbstractController{ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { String username = request.getParameter("username"); //视图,构造函数中的参数为返回的页面名称 ModelAndView mav = new ModelAndView(); //另一种写法 ModelAndView mav = new ModelAndView("hello"); mav.setViewName("hello"); //带到页面中的参数 mav.addObject("username",username); return mav; } }
6、在SpringMvc配置文件中,配置视图解析器Bean,以及返回页面的前缀,后缀。
<!-- 配置视图解析器 ModelAndView --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean>
7、在SpringMvc的配置中间中,配置Controller的bean。
<!-- 配置控制器 --> <bean id="helloController" name="/helloController.do" class="com.controller.HelloController"> </bean>
注:控制器的bean配置中,尤其前面的HandlerMap设置的是根据beanName进行查找,则此处必须写明bean的name属性。
8、请求的jsp页面 login.jsp,注意action的请求格式,与web.xml中的url-pattern匹配
<body> <form action="helloController.do" type="post"> <input type="text" name="username" /> <input type="submit" value="提交" /> </form> </body>
9、响应页面 hello.jsp
<body> hello,${username } </body>
步骤以上。
在做示例过程中,出现过一个ERROR
error:No mapping found for HTTP request with URI [/Springmvc01/helloController.do] in DispatcherServlet with name ‘springmvc‘
该错误的原因是Controller的Bean在SpringMvc配置中,没有写明name,而HandlerMap设置的根据beanName进行定位控制器。
就酱。
本文出自 “默默” 博客,请务必保留此出处http://bcptdtptp.blog.51cto.com/1475446/1723107
原文地址:http://bcptdtptp.blog.51cto.com/1475446/1723107