您的位置:首页 > 编程语言 > Java开发

Spring MVC系列:(1)SpringMVC快速入门

2016-09-19 03:24 423 查看
回顾一下struts2,struts2框架有如下特点:
struts.xml配置文件,必须以struts.xml命名,且放在src目录下【配置】 每次请求action时,都创建action实例【单例/多例】 action类一成不变的直接或间接继续ActionSupport类【类层面】 action类中的业务控制方法总是相类似的签名且无参【方法层面】 action类中,接收参数要用成员变量和对应的set方法或set/get方法【成员变量层面】
1、什么是springmvc,它与spring有什么关系
springmvc属于spring框架的后续产品,用在基于MVC的表现层开发,类似于struts2框架




2、初识springmvc工作流程

大致流程:请求Action(/hello.action)→DispatcherServlet→handler→adapter→开发者自定义的Action类(HelloAction)→ModelAndView→View→DispatcherServlet→JSP页面



3、springmvc快速入门
步骤:
(1)引入jar包

(2)配置 web.xml

(3)编写Action代码,并进行URL映射配置

3.1、引入jar包
需要引入的jar包分成三个部分:
spring-core
spring-web
spring-webmvc
spring-corecommons-logging-1.2.jar
spring-beans-3.2.5.RELEASE.jar
spring-context-3.2.5.RELEASE.jar
spring-core-3.2.5.RELEASE.jar
spring-expression-3.2.5.RELEASE.jar
spring-webspring-web-3.2.5.RELEASE.jar
spring-webmvcspring-webmvc-3.2.5.RELEASE.jar
3.2、配置web.xml
在web.xml文中注册springmvc框架的核心控制器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>springmvc01</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 注册springmvc框架核心控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
</web-app>


3.3、编写Action类,并进行URL映射配置

(1)编写Action类的代码
HelloWorldAction.java
package com.rk.web.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

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

public class HelloWorldAction implements Controller {

public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("message", "这是我的第一个SpringMVC应用");
modelAndView.setViewName("/jsp/success.jsp");
return modelAndView;
}

}


(2)对HelloWorldAction进行URL映射配置
在WebRoot/WEB-INF/目录下创建springmvc-servlet.xml配置文件,xml头部信息与spring.xml相同
注意:该配置文件的命名规则:web.xml文件中配置的<servlet-name>的值-servlet.xml
<servlet-name>-servlet.xml




springmvc-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

<bean name="/helloworld.action" class="com.rk.web.action.HelloWorldAction"></bean>

</beans>
注意:<bean>的name属性中以“/”开始,否则访问不到。

3.4、添加JSP页面
在/WebRoot/下创建jsp/success.jsp
<%@ page language="java"  pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="content-type" content="text/html; charset=UTF-8">
<title>My SpringMvc</title>
</head>

<body>
success.jsp<br>
${message }
</body>
</html>






4、加载自定义目录下的springmvc.xml配置文件

在默认情况下:springmvc框架的配置文件必须叫<servlet-name>-servlet.xml,且必须放在WebRoot/WEB-INF/目录下。
我们可以在web.xml文件中,为DispatcherServlet配置一个初始化参数,让它去我们指定的目录下加载springmvc-helloworld.xml配置文件。
(1)假如springmvc-helloworld.xml放置在src目录下的com.rk.web.action包下
web.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>springmvc01</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 注册springmvc框架核心控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/com/rk/web/action/springmvc-helloworld.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
</web-app>
其中,<param-value>也可以写成classpath:...
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:com/rk/web/action/springmvc-helloworld.xml</param-value>
</init-param>


(2)如果springmvc-helloworld.xml配置文件放在src目录下
web.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>springmvc01</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 注册springmvc框架核心控制器 -->
<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-helloworld.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
</web-app>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  springmvc