1.创建一个web项目  引入所需要的jar

2.在web.xml文件中配置 核心控制器

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.5"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  6. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  7.  
  8. <!-- 配置 springmvc的核心控制器
  9. 这里的 <servlet-name>springmvc</servlet-name>
  10. springmvc就是规定了 我们springmvc的配置文件的名称
  11. <servlet-name>-servlet.xml
  12. -->
  13. <servlet>
  14. <servlet-name>springmvc</servlet-name>
  15. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  16. </servlet>
  17.  
  18. <servlet-mapping>
  19. <servlet-name>springmvc</servlet-name>
  20. <url-pattern>/</url-pattern>
  21. <!-- 为什么不能配置/*
  22. 我们打开浏览器 第一次访问 项目名/hello ,会通过我们的handlerMaping找 有没有bean name="/hello"!
  23. 有就进入对应的controller进行操作,之后根据controller中返回的ModelAndView ===》hello01!
  24. 让试图解析器进行解析 :解析之后 变成了/SpringMVC001/WEB-INF/jsp/hello01.jsp
  25.  
  26. 如果我们配置的是 /* 那么解析之后的路径也会被当成一个Bean name来处理,很显然我们没有这个bean,所以会报错!
  27.  
  28. /: 只会匹配 /login /index 不能匹配 /*.jsp 这样的后缀url
  29. /*:匹配所有的请求 所以我们hello01.jsp 也会被拦截
  30. -->
  31. </servlet-mapping>
  32.  
  33. <welcome-file-list>
  34. <welcome-file>index.jsp</welcome-file>
  35. </welcome-file-list>
  36. </web-app>

web.xml文件

3.在web-inf目录下创建springmvc的核心配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
  4. xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation=" http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context.xsd
  10. http://www.springframework.org/schema/tx
  11. http://www.springframework.org/schema/tx/spring-tx.xsd
  12. http://www.springframework.org/schema/aop
  13. http://www.springframework.org/schema/aop/spring-aop.xsd
  14. http://www.springframework.org/schema/mvc
  15. http://www.springframework.org/schema/mvc/spring-mvc.xsd">
  16. <!-- 采用默认的方式 BeanNameUrlHandlerMapping -->
  17. <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
  18.  
  19. <!-- name="/hello" 用户的请求 class就是我们的Controller处理器-->
  20. <bean name="/hello" class="cn.bdqn.controller.HelloController"/>
  21.  
  22. <!-- 视图解析器 项目名/web-inf/jsp/springmvc.jsp 需要设置前缀 和后缀 -->
  23. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  24. <property name="prefix" value="/WEB-INF/jsp/"/>
  25. <property name="suffix" value=".jsp"/>
  26.  
  27. </bean>
  28.  
  29. </beans>

springmvc-servlet.xml核心配置文件

4.创建对应的controller文件

  1. public class HelloController extends AbstractController { // 第一个springmvc小例子
  2. /**
  3. * handleRequestInternal():对应struts2的 execute()
  4. * ModelAndView:返回值 需要核心配置文件中的试图解析器 解析
  5. */
  6. @Override
  7. protected ModelAndView handleRequestInternal(HttpServletRequest request,
  8. HttpServletResponse response) throws Exception {
  9. System.out.println("第一个springmvc小例子....");
  10. // hello01就是我们返回的视图名称 但是 现在只是一个字符串
  11. return new ModelAndView("hello01");
  12. }
  13. }

HelloController代码

5.在web-inf下新建jsp文件夹,之后再jsp文件夹下面新建hello01.jsp页面即可

6.向前台页面传值

  1. public class HelloController extends AbstractController {// 可以看出来
  2. // 这一个controller中只能有一个方法
  3.  
  4. /**
  5. * 03.向前台传递一个Map集合
  6. *
  7. */
  8. @Override
  9. protected ModelAndView handleRequestInternal(HttpServletRequest request,
  10. HttpServletResponse response) throws Exception {
  11. System.out.println("向前台传递一个Map集合");
  12. Map<String, Object> map = new HashMap<String, Object>();
  13. map.put("1", "大家辛苦1");
  14. map.put("2", "大家辛苦2");
  15. map.put("3", "大家辛苦3");
  16. return new ModelAndView("hello03", "map", map);
  17. }
  18.  
  19. /**
  20. * 02.向前台界面传递值
  21. @Override
  22. protected ModelAndView handleRequestInternal(HttpServletRequest request,
  23. HttpServletResponse response) throws Exception {
  24. System.out.println("进入了向前台界面传递值的方法..... ");
  25. // request.setAttribute("result", "数据是从后来获取的!");
  26. // 我在返回视图的时候 携带数据
  27. return new ModelAndView("hello02", "result", "数据是从后来获取的!");
  28. }
  29. */
  30. /** 01.
  31. * handleRequestInternal():对应struts2的 execute()
  32. * ModelAndView:返回值 需要核心配置文件中的试图解析器 解析
  33.  
  34. @Override
  35. protected ModelAndView handleRequestInternal(HttpServletRequest request,
  36. HttpServletResponse response) throws Exception {
  37. System.out.println("第一个springmvc小例子....");
  38. // hello01就是我们返回的视图名称 但是 现在只是一个字符串
  39. return new ModelAndView("hello01");
  40. }
  41. */
  42. }

HelloController中增加代码

7.在jsp文件夹下面新增需要的两个界面  其余代码不动

  1. <body>
  2. 获取后台controller中的result值:${result}
  3. </body>

hello02.jsp

  1. <%--引入jstl标签库--%>
  2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3. <body>
  4.  
  5. 获取后台controller中的map集合的值: 单独的获取一个值=====》${map["1"]}
  6. <br />
  7. <%-- 使用循环 遍历 map集合 --%>
  8. <c:forEach items="${map}" var="m">
  9. ${m.key}=======>${m.value}<br />
  10. </c:forEach>
  11.  
  12. </body>

hello03.jsp

=================修改核心配置文件的位置和名称=======================

  1. <servlet>
  2. <servlet-name>springmvc</servlet-name>
  3. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  4. <!--创建核心配置文件的位置 还可以指定文件的名称 -->
  5. <init-param>
  6. <param-name>contextConfigLocation</param-name>
  7. <param-value>classpath:/springmvc-servlet.xml</param-value>
  8. </init-param>
  9. </servlet>
  10.  
  11. <servlet-mapping>
  12. <servlet-name>springmvc</servlet-name>
  13. <url-pattern>/</url-pattern>

只需要修改web.xml中的servlet节点

然后把核心配置文件放到src下面即可!

SpringMVC01的更多相关文章

  1. SpringMVC-01 什么是SpringMVC

    SpringMVC-01 什么是SpringMVC 回顾MVC 1.什么是MVC MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范. 是将业务逻辑 ...

  2. 严重: Null component localEngine:type=JspMonitor,name=jsp,WebModule=//localhost/SpringMVC01,J2EEApplication=none,J2EEServer=none

    检查了 Java Build Path, Java Compiler,Project Facts 都确定了版本一致 包括 maven run as →run config 里面的 jdk 和maven ...

  3. springMVC01,使用xml

    unit03_01 unit03_02 springmvc流程图 案例:hello示例 /hello.do --> springmvc --> /WEB-INF/hello.jsp /he ...

  4. SpringMVC-01

    1. 概述 1.1 概念 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 优点 使用简单,开发便捷(相比于Servlet) 灵活性强 项目请求响应架构演进: 软件三层 软件三层 ...

  5. springmvc注解事例

    注解有简化 ,灵活性增强的功能 1.引入jar包 com.springsource.javax.validation-1.0.0.GA.jarcom.springsource.org.aopallia ...

  6. spring mvc 快速入门

    ---------- 转自尚学堂 高淇 --------- Spring  MVC 背景介绍 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC ...

  7. SpringMVC学习(一)

    Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分. Web MVC架构 1.用户发起request请求至控制器(Controller) 控制接收用户请求的数 ...

  8. mybatis, spring, springmvc

    mybatis配置: mybatis-config.xml <configuration> <!-- 作者MyBatis博客: http://legend2011.blog.51ct ...

  9. Spring MVC 学习总结(三)——请求处理方法Action详解

    Spring MVC中每个控制器中可以定义多个请求处理方法,我们把这种请求处理方法简称为Action,每个请求处理方法可以有多个不同的参数,以及一个多种类型的返回结果. 一.Action参数类型 如果 ...

随机推荐

  1. Oracle高级查询,事物,过程及函数

    一 数值函数 数值 abs,ceil,floor,round,trunc字符串 instr,substr SQL>SELECT 'ABS':'|| ABS(-12.3) FROM DUAL; 运 ...

  2. 超级易使用的jquery视频背景插件Vide

    http://www.jqcool.net/demo/201410/jquery-vide/ 官网: http://vodkabears.github.io/vide/

  3. 用python+selenium获取XX省交通违章数据

    前言: 目前在研究易信公众号,想给公众号增加一个获取个人交通违章的查询菜单,通过点击返回查询数据.以下是实施过程. 一.首先,用火狐浏览器打开XX省交管网,分析页面信息: 可以看到共有4种查询种类,我 ...

  4. JQUERY 常用方法大全

    Attribute: $("p").addClass(css中定义的样式类型); 给某个元素添加样式 $("img").attr({src:"test ...

  5. WinPcap编程(二)

    0. 这一次具体讲抓包的两种方法. (建议)清除ARP表,最好自己写个批处理命令.快一点. 1.0 抓包步骤 步骤很简单:先打开适配器列表 --> 选择适配器 --> 通过遍历链表的方式到 ...

  6. linux c最简单的加密程序

    最初的密码程序是在Hirst First c里面看到的,大概内容如下:对待加密的字符串的每一个字符和某个数值进行一次按位异或得到密文,再进行一次按位异或得到明文. 补充知识:按位异或的结果是“同位得1 ...

  7. spring mvc velocity多视图

    1.ViewResolverUrlBasedViewResolver 这个东西是根据url 进行路由的.网上搜了 1.order 排序,同名出现各种问题 2.XmlViewResolver,BeanN ...

  8. 魅蓝3s adb interface 找不到驱动程序

    完全照搬大神的步骤就ok啦,,自己记录下,方便以后查找 Win7 x64 Eclipse无法识别手机 / adb interface有黄色感叹号,无法识别 http://blog.csdn.net/z ...

  9. svn , github工作流

    svn 需要有一台中央服务器,所有的分支,主干,标签,全都保存在这台中央服务器上.开发着需要提交代码时,需要保持中央服务器连接.切换分支时会有本地与服务器网络连接. git 改进了这一点,每台安装有g ...

  10. Win7主题被禁用

    今天早上干了一件傻缺的事,打开电脑的时候,某卫士提醒开机速度击败全国0.2%的电脑,之后点了优化...随后就发生了接下来的一幕: win7下面的主题都不能使用了,只能使用那种复古(很丑的样式,看着很不 ...