您的位置:首页 > 编程语言 > Java开发

SpringMVC基本配置

2016-12-16 21:30 543 查看

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: