Spring MVC入门(1)――非注解方式

开发工具: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进行定位控制器。


就酱。








你可能感兴趣的:(springMVC,非注解)