首页 > 代码库 > SpringMVC基本配置

SpringMVC基本配置

1 springmvc 框架

1.1  回顾mvc结构

 技术分享

1.2springmvc的介绍

是一个基于mvc的web层框架,使用spring的一个子项目

技术分享

技术分享

在使用springmvc的时候,不用单独和spring进行集成。

2 第一个springmvc的应用

2.1新建web项目

2.2加入jar包

 技术分享

技术分享

2.3建立Controller

Controller:应用控制器,就是一个普通的javabean

模拟用户登录:

 1 package org.guangsoft.controller;
 2 
 3 import javax.servlet.http.HttpServletRequest;
 4 import javax.servlet.http.HttpServletResponse;
 5 
 6 import org.springframework.web.servlet.ModelAndView;
 7 import org.springframework.web.servlet.mvc.Controller;
 8 
 9 
10 public class UserController implements Controller
11 {
12 
13     /**
14      * ModelAndView:对象汇总封装了需要响应到客户端额的数据的视图的页面
15      */
16     @Override
17     public ModelAndView handleRequest(HttpServletRequest request,
18             HttpServletResponse response) throws Exception
19     {
20         //获得页面请求数据
21         String username = request.getParameter("username");
22         String password = request.getParameter("password");
23         
24         //创建一个ModelAndView对象,封装了需呀显示的视图和视图上需要显示的数据
25         ModelAndView mav = new ModelAndView();
26         if(username.equals("root") && password.equals("root"))
27         {
28             //请求转发
29             mav.setViewName("success.jsp");
30             mav.addObject("username",username);
31         }
32         else
33         {
34             mav.setViewName("error.jsp");
35             mav.addObject("msg", "用户名或密码错误!");
36         }
37         return mav;
38     }
39 
40 }

2.4建立springmvc.xml配置文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans
 3     xmlns="http://www.springframework.org/schema/beans"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xmlns:p="http://www.springframework.org/schema/p"
 6     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
 7 
 8     <!-- name是usercontroller请求的url -->
 9     <bean name="/userController.action" class="org.guangsoft.controller.UserController"></bean>
10 </beans> 

2.5在web.xml中配置springmvc的核心控制器

Springmvc的核心控制器是一个servlet

 1 package org.guangsoft.controller;
 2 
 3 import javax.servlet.http.HttpServletRequest;
 4 import javax.servlet.http.HttpServletResponse;
 5 
 6 import org.springframework.web.servlet.ModelAndView;
 7 import org.springframework.web.servlet.mvc.Controller;
 8 
 9 
10 public class UserController implements Controller
11 {
12 
13     /**
14      * ModelAndView:对象汇总封装了需要响应到客户端额的数据的视图的页面
15      */
16     @Override
17     public ModelAndView handleRequest(HttpServletRequest request,
18             HttpServletResponse response) throws Exception
19     {
20         //获得页面请求数据
21         String username = request.getParameter("username");
22         String password = request.getParameter("password");
23         //床架一个ModelAndView对象,封装了需呀显示的视图和视图上需要显示的数据
24         ModelAndView mav = new ModelAndView();
25         if(username.equals("root") && password.equals("root"))
26         {
27             //请求转发
28             mav.setViewName("success.jsp");
29             mav.addObject("username",username);
30         }
31         else
32         {
33             mav.setViewName("error.jsp");
34             mav.addObject("msg", "用户名或密码错误!");
35         }
36         return mav;
37     }
38 
39 }

2.6建立视图页面

建立登陆页面:

建立成功提示页面:

2.7发布测试

3第一个程序问题总结

Springmvc.xml的文件加载问题:

      如果不配置,默认/WEB-INF/springmvc-servlet.xml

请求url的问题:

      核心控制的路径:/* 会导致jsp页面404错误,要用*.action

4 controller应用控制器的不同实现

Handler的不同实现方式,UserHandler

4.1实现Controller接口

4.2实现HttpRequestHandler

最原始的servlet写法,获得请求参数和进行跳转都是用原始的servletapi。

 1 package org.guangsoft.controller;
 2 
 3 import java.io.IOException;
 4 
 5 import javax.servlet.ServletException;
 6 import javax.servlet.http.HttpServletRequest;
 7 import javax.servlet.http.HttpServletResponse;
 8 
 9 import org.springframework.web.HttpRequestHandler;
10 import org.springframework.web.servlet.ModelAndView;
11 
12 public class UserController2 implements HttpRequestHandler
13 {
14 
15     @Override
16     public void handleRequest(HttpServletRequest request, HttpServletResponse response)
17             throws ServletException, IOException
18     {
19         //获得页面请求数据
20         String username = request.getParameter("username");
21         String password = request.getParameter("password");
22         if(username.equals("root") && password.equals("root"))
23         {
24             //请求转发
25             request.setAttribute("username", username);
26             response.sendRedirect("success.jsp");
27         }
28         else
29         {
30             response.sendRedirect("error.jsp");
31         }
32     }
33 
34 }

4.3自定义javabean(重点)

不需要实现任何接口,处理请求的方法自己定义(参数和返回值),配合注解一起使用

4.3.1定义Controller

通过扫描将controller纳入spring容器

 1 package org.guangsoft.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.ui.Model;
 5 import org.springframework.web.bind.annotation.RequestMapping;
 6 
 7 @Controller
 8 public class UserController3
 9 {
10     /**
11      * 返回值:stirng表示跳转的路径
12      * username:接受客户端请求的username
13      * passowrd:接受客户端请求的password
14      * model:封装需要响应到客户端的数据
15      * 参数名称必须和客户端请求的参数名称一致
16      * @return
17      */
18     @RequestMapping("/userLogin")//客户端请求的url
19     public String userLogin(String username, String password, Model model)
20     {
21         if(username.equals("root") && password.equals("root"))
22         {
23             model.addAttribute("username",username);
24             return "success.jsp";//完成页面的跳转
25         }
26         else
27         {
28             model.addAttribute("msg", "您的用户名或密码错误!");
29             return "error.jsp";
30         }
31     }
32

4.3.2进行UserController3的配置

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans
 3     xmlns="http://www.springframework.org/schema/beans"
 4     xmlns:context="http://www.springframework.org/schema/context"
 5     xmlns:mvc="http://www.springframework.org/schema/mvc"
 6     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 7     xmlns:p="http://www.springframework.org/schema/p"
 8     xsi:schemaLocation=
 9     "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
10     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
11     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">
12 
13     <!-- name是usercontroller请求的url -->
14     <bean name="/userController.action" class="org.guangsoft.controller.UserController"></bean>
15     <context:component-scan base-package="org.guangsoft.controller"></context:component-scan>
16     <mvc:annotation-driven></mvc:annotation-driven>
17 </beans>

 

SpringMVC基本配置