一、实验目的

1.理解Spring MVC的处理流程
2. 掌握Spring MVC的基本使用
3. 掌握Spring MVC的参数传递

二、实验学时及环境

  1. 实验学时:2
  2. 实验环境:IDEA,JDK8,Tomcat7,Maven,Mysql5,Navicat
  3. 实验设备:PC

三、实验内容和步骤

(给出工程项目的代码结构图,以及关键代码的截图,并对程序的运行结果进行截图,保证截图的清晰。实验要求中提到“分析原因”的地方,实验报告中必须给予你的解释。)

1. 使用SpringMVC实现页面输出

(1)为超市订单管理系统搭建Spring MVC环境
(2)实现前端页面内输出“学框架就学Spring MVC!”
(3)HandlerMapping:BeanNameUrlHandlerMapping
(4)ViewResolver :InternalResourceViewResolver

导入jar包

  <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.1.3.RELEASE</version></dependency>

在web.xml中配置Servlet

<!--—————————配置springmvc核心控制器DispatcherServlet————————--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value></init-param><!--配置标记容器在启动的时候就加载此DispatcherServlet,即自动启动--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>

创建SpringMvc的配置文件springmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><bean name="/welcome" class="com.wxl.smbms.servlet.test.IndexController"/><!--Spring MVC的配置文件,网站跳转逻辑的控制--><!-- 配置视图解析器,方便页面返回 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/></bean>
</beans>

创建控制器

public class IndexController extends AbstractController {@Overrideprotected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {return new ModelAndView("index");}
}

在创建view

在webapp/web-inf/jsp/创建index.jsp

<body><h2>学框架就学SpringMVC </h2></body>

2.更改Spring MVC的处理器映射的配置为支持注解式处理器.

(1)HandlerMapping:mvc:annotation-driven/
(2)ViewResolver:InternalResourceViewResolver
(3)加入Log4j进行后台日志输出

更改SpringMvc的配置文件springmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--Spring MVC的配置文件,网站跳转逻辑的控制--><context:component-scan base-package="com.wxl.smbms.servlet"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><mvc:annotation-driven/><!-- 配置视图解析器,方便页面返回 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/></bean>
</beans>

更改控制器

@Controller
public class IndexController  {@RequestMapping("/welcome")public String index(){return "index";}
}

输入网址进行测试

3. 在上例的基础上,实现View到Contoller的参数传递:

(1)在index.jsp页面,输入用户编码
(2)点击提交按钮,页面跳转到success.jsp页面,并在该页面输出提交的用户编码
(3)要求在控制台输出从前台获取的用户编码的值

更改控制器

@Controller
public class IndexController  {@RequestMapping("/welcome")public String index(){return "index";}@RequestMapping("/index.html")public String index1(){return "index";}@RequestMapping("/test.html")public String test(@RequestParam String userCode , Model model){model.addAttribute("userCode",userCode);return "success";}
}

更改index.jsp

<body><h2>学框架就学SpringMVC </h2><form action="${pageContext.request.contextPath }/test.html">请输入userCode:<input name="userCode"><button type="submit" >提交</button></form></body>

添加页面success.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
userCode:${userCode}
</body>
</html>

四、实验总结

可以用两种方法进行处理器映射,注解方式更为灵活。使用更加方便。

<context:component-scan base-package=“com.wxl.smbms.servlet”>的作用:
如果没有此标签,那么标注了@Controller的bean仅仅是一个普通的javabean,而不是一个可以处理请求的控制器
mvc:annotation-driven/的作用:
该标签会自动注册DefaultAnnotationHandlerMapping(处理器映射)与AnnotationMethodHandlerAdapter(处理器适配器)这两个bean ,springMVC需要通过这两个Bean实例来完成对@Controller和@RequestMapping等注解的支持,从而找出url与handler method的关系并予以关联完成spring容器中的这两个bean的注册,是springMVC为@Controller分发请求的必要支持

【J2EE实验-3】Spring MVC相关推荐

  1. 拦截器及 Spring MVC 整合

    一.实验介绍 1.1 实验内容 本节课程主要利用 Spring MVC 框架实现拦截器以及 Spring MVC 框架的整合. 1.2 实验知识点 Spring MVC 框架 拦截器 1.3 实验环境 ...

  2. SSM(Spring+Spring MVC+Mybatis)整合 1:整体概述、目录内容及实验环境介绍

    文章目录 前言 一.概述 二.系列文章全目录 三.实验环境 总结 前言 通过本次 Java EE 三大框架(Spring.Spring MVC.MyBatis)原理.技术和方法的整合,大量的项目实践实 ...

  3. Spring MVC原理

    摘要: Spring MVC工作流程图 springMVC工作流程图 图一 图二 开发工具 1.Eclipse IDE:采用Maven项目管理,模块化. 2.代码生成:通过界面方式简单配置,自动生成相 ...

  4. Spring MVC配置

    为什么80%的码农都做不了架构师?>>>    一.传统方式配置Spring MVC (1)导入jar包 需要导入如下的jar包 junit-3.8.1.jar         sp ...

  5. 深入解析Spring MVC与Web Flow

    深入解析Spring MVC与Web Flow 诚邀加入图灵俱乐部:http://groups.csdn.net/Turingbooks "本书为Spring社区弥补了一大空白." ...

  6. Spring MVC 原理探秘 - 一个请求的旅行过程

    1.简介 在前面的文章中,我较为详细的分析了 Spring IOC 和 AOP 部分的源码,并写成了文章.为了让我的 Spring 源码分析系列文章更为丰富一些,所以从本篇文章开始,我将来向大家介绍一 ...

  7. 分布式架构spring mvc +mybatis +shiro+ Activiti +Alibaba Druid

    介绍 jeesz-utils jeesz-config jeesz-framework jeesz-core-cms jeesz-core-gen jeesz-core-bookmark jeesz- ...

  8. spring mvc 接收页面表单List

    很少写博客,如果写的不好请多多包涵! 最近在用Spring mvc时遇到一个问题,在网上搜了很多资料.几乎没看到解决办法! 例如:当我们在做批量添加或者更新时,在Controller层接收表单数据的问 ...

  9. spring mvc 总结

    为什么80%的码农都做不了架构师?>>>    一.前言: 大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 ...

最新文章

  1. 服务器同步什么文件类型,不同服务器同步文件类型
  2. 人际关系和谐交际的10个“音符”
  3. linux 查看某一个进程的socket连接数
  4. SpringBoot使用mybatis
  5. 使用ABAP SAT工具分析SAP OData service实现明细
  6. comparator接口与Comparable接口的区别
  7. Exchange企业实战技巧(26)在Outlook中打开多个邮箱
  8. python matplotlib图中插入表格
  9. tableview 添加手势_【iOS12+Swift5】如何在tableViewController里面给Cell添加手势
  10. python和perl的区别_Perl和Python之间有什么区别?Perl与Python的简单比较
  11. sys模块,subprocess模块
  12. 9_flutter_SimpleDialog(对话框),FloatingActionButton(浮动按钮),Slider(滑动器)
  13. paip.文件读写api php java python总结.txt
  14. 什么是DC-DC转换器?DC-DC转换器是如何命名的?
  15. hbase解决海量图片存储
  16. 微信小程序tabBar不显示问题
  17. java游戏猿人时代_猿人时代游戏下载-猿人时代游戏(附攻略)正版下载v1.0.0-第五驱动...
  18. 手机摄像头组成结构和工作原理
  19. 解决:ActiveX控件不能使用
  20. conda search cuda后没有版本10的问题

热门文章

  1. 网络安全工程师必备证书有哪些?
  2. 基于matlab的RS编译码仿真,从底层原理分析RS编译码的实现过程
  3. 陶哲轩实分析习题8.3.4
  4. Paste for Mac(剪切板历史管理工具)
  5. 笔记本在Win7/Win8/win8.1下安装OS X 10.9.3懒人版通用教程
  6. ORA-3136错误分析——WARNING Inbound Connection Timed Out
  7. 用汇编语言程序设计实现c=a b,西安交通大学18年3月课程考试《汇编语言程序设计》作业考核试题...
  8. SaaSpace:9种最好的免费幻灯片制作工具
  9. 《人类简史》这本烧脑书风靡全球的秘密是什么?
  10. u深度制作linux启动盘制作工具,U深度U盘启动盘制作工具怎么操作?U深度U盘启动盘制作工具使用...