• SpringMVC入门(基于XML方式实现)


    ----------------------siwuxie095

       

       

       

       

       

       

       

    SpringMVC 入门(基于 XML 方式实现)

       

       

    (一)搭建 SpringMVC 环境

       

       

    1、先下载相关库文件,下载链接:

       

    1http://projects.spring.io/spring-framework/

       

    2http://repo.spring.io/release/org/springframework/spring/

       

       

    注意:下载以 -dist.zip 结尾的文件,这里选择下载 Spring 4.3 版本

       

    将 spring-framework-4.3.7.RELEASE-dist.zip 解压一览:

       

       

       

       

    2、导入 Spring 的核心 jar 包和日志相关的 jar 包(6 个)

       

       

       

    Commons Logging 下载链接:

       

    http://commons.apache.org/proper/commons-logging/download_logging.cgi

       

       

    LOG4J 下载链接:

       

    https://www.apache.org/dist/logging/log4j/

       

       

       

    2、导入 Spring AOP 的 jar 包(1 个)

       

       

       

       

    3、导入 SpringMVC 的 jar 包(1 个)

       

       

       

       

    4、导入 Spring 整合 Web 项目的 jar 包(1 个)

       

       

       

       

    5、综上,共需 9 jar 包

       

       

       

       

       

       

       

       

    (二)创建部署描述文件

       

       

    在部署描述文件中配置 SpringMVC 的核心分发器

       

       

    1、创建 XML 格式的部署描述文件

       

    部署描述文件的名称和位置是固定的

       

    位置:必须在 WEB-INF

       

    名称:必须是 web.xml

       

       

       

    2、快捷创建部署描述文件 web.xml

       

    选择工程名,右键->Java EE Tools->Generate Deployment Descriptor Stub

       

       

       

    3、配置 SpringMVC 的核心分发器

       

    web.xml 中添加如下代码:

       

    <servlet>

    <!-- servlet-name 可任意命名 -->

    <servlet-name>dispatcher</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <!--

    设置 SpringMVC 核心配置文件的名称和位置,均可任意。如果未设置,则默认

    位于 WEB-INF 目录下,名称为 [servlet-name]-servlet.xml

    -->

    <init-param>

    <param-name>contextConfigLocation</param-name>

    <param-value>classpath:dispatcher-servlet.xml</param-value>

    </init-param>

    <!-- 自动加载:随 Tomcat 容器启动,加载 DispatcherServlet,完成初始化 -->

    <load-on-startup>1</load-on-startup>

    </servlet>

    <servlet-mapping>

    <servlet-name>dispatcher</servlet-name>

    <!-- url-pattern 可以是 / *.xxx /xxx/*,不能是 /* -->

    <url-pattern>/</url-pattern>

    </servlet-mapping>

       

       

       

    4、最后

       

    web.xml:

       

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">

    <display-name>TestSpringMVC</display-name>

    <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

    <welcome-file>default.jsp</welcome-file>

    </welcome-file-list>

       

    <servlet>

    <!-- servlet-name 可任意命名 -->

    <servlet-name>dispatcher</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <!--

    设置 SpringMVC 核心配置文件的名称和位置,均可任意。如果未设置,则默认

    位于 WEB-INF 目录下,名称为 [servlet-name]-servlet.xml

    -->

    <init-param>

    <param-name>contextConfigLocation</param-name>

    <param-value>classpath:dispatcher-servlet.xml</param-value>

    </init-param>

    <!-- 自动加载:随 Tomcat 容器启动,加载 DispatcherServlet,完成初始化 -->

    <load-on-startup>1</load-on-startup>

    </servlet>

    <servlet-mapping>

    <servlet-name>dispatcher</servlet-name>

    <!-- url-pattern 可以是 / *.xxx /xxx/*,不能是 /* -->

    <url-pattern>/</url-pattern>

    </servlet-mapping>

       

    </web-app>

       

       

       

       

       

       

       

    (三)创建 Controller 类

       

    包名:com.siwuxie095.controller

    类名:HelloController.java

       

    HelloController.java:

       

    package com.siwuxie095.controller;

       

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

       

    import org.springframework.web.servlet.ModelAndView;

    import org.springframework.web.servlet.mvc.Controller;

       

    /**

    * 创建 HelloController,实现 Controller 接口

    */

    public class HelloController implements Controller {

       

    /**

    * 每次访问 Controller,默认都会执行 handleRequest() 方法,

    * 在核心配置文件 dispatcher-servlet.xml 中配置访问路径

    */

    @Override

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

    // 创建 ModelAndView 对象

    ModelAndView mv = new ModelAndView();

    // 添加模型数据

    mv.addObject("msg", "Hello SpringMVC");

    // 设置视图名称

    mv.setViewName("hello");

    return mv;

    }

       

    }

       

       

       

       

       

       

       

       

       

       

    (四)创建 SpringMVC 的核心配置文件

       

       

    在核心配置文件中配置 HandlerMappingHandlerAdapterControllerViewResolver

       

       

    1、创建 XML 格式的配置文件

       

    核心配置文件的名称和位置没有固定要求

       

    位置:建议在 src

       

    名称:建议为 dispatcher-servlet.xml

       

       

       

    2、在配置文件中引入 XML 约束

       

    spring-beans-4.3.xsdspring-context-4.3.xsdspring-mvc-4.3.xsd

       

    「XML约束有 DTD 和 Schema 两种,在 SpringMVC 的配置文件

    中引入的是 Schema 约束(目前),注意:要引入和 Spring 版本

    对应的约束」

       

    这些文件在 schema 文件夹下:

       

       

       

    dispatcher-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">

       

       

       

    3、配置 HandlerMapping、HandlerAdapter、Controller、ViewResolver

       

    dispatcher-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">

    <!-- 配置 HandlerMapping(可选,即可以省略不配置) -->

    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

    <!-- 配置 HandlerAdapter(可选,即可以省略不配置) -->

    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

    <!--

    配置 Controller,通过 BeanNameUrl 来映射、查找(必须,即必须进行配置)

    name 为访问路径(请求路径也即 BeanNameUrl),class 为自定义 Controller 的完全限定名

    -->

    <bean name="/hello.do" class="com.siwuxie095.controller.HelloController"/>

    <!-- 配置 ViewResolver(必须,即必须进行配置) -->

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

    <!--

    配置视图解析的前缀 prefix 和后缀 suffix

    1)前缀:如果在 WebContent 目录下,则为 /,如果在 WEB-INF 目录下,则为 /WEB-INF/

    2)后缀:一般为 JSP 文件,所以为 .jsp

    例如:prefix="/"suffix=".jsp"viewname="test",则:"/test.jsp"

    -->

    <property name="prefix" value="/"/>

    <property name="suffix" value=".jsp"/>

    </bean>

       

    </beans>

       

       

    注:HandlerMapping 和 HandlerAdapter 之所以可以省略不配置,是

    因为 SpringMVC 对于这两者有默认配置,详见 spring-webmvc 的 jar

    包中第一个包 org.springframework.web.servlet 中最后一个配置文件

    DispatcherServlet.properties

       

       

       

       

       

       

       

       

       

    (五)创建 JSP 页面

       

       

    1、在 WebContent 目录下创建 hello.jsp

       

    hello.jsp:

       

    <%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>hello</title>

    </head>

    <body>

       

    <h1>${msg}</h1>

    </body>

    </html>

       

       

       

    2、在浏览器中进行访问,访问路径

       

    http://localhost:8080/TestSpringMVC/hello.do

       

       

       

       

       

    工程结构目录一览:

       

       

       

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    四则运算2
    四则运算1
    学习进度条
    Mat数据结构
    Markdown语法
    C++继承和派生
    C++智能指针
    clion配置ROS
    视觉十四讲:第六讲_g2o图优化
    视觉十四讲:第六讲_ceres非线性优化
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/8486323.html
Copyright © 2020-2023  润新知