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>
时间: 2024-11-18 16:21:12

SpringMVC基本配置的相关文章

springMVC零配置吐槽

此时此刻,哥哥我不得不大大的吐槽一下.从github上down下来一个spring-mvc的chat演示样例,牛逼作者用的是注解的方式,项目全然零配置.而我眼下用的springMVC框架,还是在xml里面配置,所以,在用这个样例的时候,出现了一些小意外,比方,并不能非常好的与我如今的框架集成.天朝用springMVC框架的实在太少了,准确来说,是总结springMVC框架的大牛实在太少了.只是最后经过百般鼓捣,就在前一分钟,能用了,集成成功了.真尼玛幸福.springMVC零配置吐槽,布布扣,b

springmvc resources 配置

http://www.mkyong.com/spring-mvc/spring-mvc-how-to-include-js-or-css-files-in-a-jsp-page/ 如果<mvc:resources mapping="/resources/**" location="/resources/mytheme/" />注意location是Webroot目录下面的文件夹则<link href="${pageContext.requ

Springmvc中配置Quartz使用,实现任务实时调度。

菜鸡的自我修炼,第一次接触quartz,做个记录.-------jstarseven 最近在项目中,第一次在springmvc中配置实用quartz,深刻的感受到quartz带来的方便,顺手做个记录. 简单介绍: Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Quartz 允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联.整合了 Quartz 的应用程序可以重用来自不同事件的作业,

springmvc+mybatis配置

环境: Jdk 1.8.0_40 Eclipse 4.4.2 Tomcat 8.0.20 Maven 3.2.5 Mybatis 3.2.8 Spring 4.1.5 主要步骤:(以下能够正常运行) 1. 新建工程 Maven Project -> New Maven Project 保持默认,直接下一步 -> 选择org.apache.maven.archetypes,点击下一步 -> 输入Group id 和Artifact id,完成 2. 配置pom.xml <projec

springMVC+Hibernate配置

本文描述下 sypro 项目中使用 springMVC+Hibernate配置,初学SpringMVC做下简单整理解. 1.web项目首先我们要使用 web.xml文件将 spring配置引入进来 Xml代码   <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee&q

SpringMVC常用配置(二),最简洁的配置实现文件上传

Spring.SpringMVC持续介绍中,基础配置前面已经介绍了很多,如果小伙伴们还不熟悉可以参考这几篇文章: 1.Spring基础配置 2.Spring常用配置 3.Spring常用配置(二) 4.SpringMVC基础配置(通过注解配置,非xml配置) 5.SpringMVC常用配置 OK ,那么这里我想说另外一个话题,那就是文件上传,我之前在做Android开发的时候,文件上传我们一般会有两种策略,一种是通过IO流上传,还有一种是通过表单上传,其实这两种在客户端实现起来都是很简单的,在服

springmvc框架配置

web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:javaee="http://java.sun.com/xml/ns/javaee&quo

SpringMVC基础配置及应用

一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!--configure the setting of springmvcDispatcherServlet and configure the mapping--> <servlet>     <servlet-name>

SpringMVC学习一:SpringMVC的配置

SpringMVC的配置主要分为两部分: 1.xml文件配置 2.注解的配置 SpringMVC配置的步骤如下: 1.在将SpringMVC的jar包导入到web项目中后,先配置web.xml 文件.配置分发器使得请求通过Spring来控制分发 <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherSe

SpringMVC入门配置和简单实现

web.xml的配置 <!-- springmvc中央控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-n