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、综上,共需9jar 包

  

  

  

  

  

  

  

  

(二)创建部署描述文件

  

  

在部署描述文件中配置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:

  

<?xmlversion="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 中添加如下约束:

  

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="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:

  

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="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(可选,即可以省略不配置) -->

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

 

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

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

 

<!--

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

 

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

-->

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

 

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

<beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">

<!--

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

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

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

 

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

-->

<propertyname="prefix"value="/"/>

<propertyname="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>

<metahttp-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】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值