admin管理员组

文章数量:1794759

【J2EE实验

【J2EE实验

一、实验目的

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

二、实验学时及环境
  • 实验学时:2
  • 实验环境:IDEA,JDK8,Tomcat7,Maven,Mysql5,Navicat
  • 实验设备: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="www.springframework/schema/beans" xmlns:xsi="www.w3/2001/XMLSchema-instance" xmlns:context="www.springframework/schema/context" xmlns:mvc="www.springframework/schema/mvc" xsi:schemaLocation="www.springframework/schema/beans www.springframework/schema/beans/spring-beans.xsd www.springframework/schema/context www.springframework/schema/context/spring-context.xsd www.springframework/schema/mvc www.springframework/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 { @Override protected 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="www.springframework/schema/beans" xmlns:xsi="www.w3/2001/XMLSchema-instance" xmlns:context="www.springframework/schema/context" xmlns:mvc="www.springframework/schema/mvc" xsi:schemaLocation="www.springframework/schema/beans www.springframework/schema/beans/spring-beans.xsd www.springframework/schema/context www.springframework/schema/context/spring-context.xsd www.springframework/schema/mvc www.springframework/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