SpringMVC - HelloWorld

1、创建一个Maven工程




2、导入依赖

<properties>
	<junit.version>4.11</junit.version>
	<spring.version>4.1.6.RELEASE</spring.version>
	<jstl.version>1.2</jstl.version>
	<servlet-api.version>2.5</servlet-api.version>
	<jsp-api.version>2.0</jsp-api.version>
</properties>

<dependencies>
	<!-- 单元测试 -->
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>${junit.version}</version>
		<scope>test</scope>
	</dependency>

	<!-- SpringMVC -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${spring.version}</version>
	</dependency>

	<!-- JSP相关 -->
	<dependency>
		<groupId>jstl</groupId>
		<artifactId>jstl</artifactId>
		<version>${jstl.version}</version>
	</dependency>
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>servlet-api</artifactId>
		<version>${servlet-api.version}</version>
		<scope>provided</scope>
	</dependency>
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jsp-api</artifactId>
		<version>${jsp-api.version}</version>
		<scope>provided</scope>
	</dependency>
</dependencies>

<build>
	<finalName>springmvc2</finalName>
	<plugins>
		<!-- Java编译插件 -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.2</version>
			<configuration>
				<source>1.7</source>
				<target>1.7</target>
				<encoding>UTF-8</encoding>
			</configuration>
		</plugin>

		<!-- Tomcat插件 -->
		<plugin>
			<groupId>org.apache.tomcat.maven</groupId>
			<artifactId>tomcat7-maven-plugin</artifactId>
			<version>2.2</version>
			<configuration>
				<port>8888</port>
				<path>/</path>
			</configuration>
		</plugin>
	</plugins>
</build>


如果是手动导jar包的话,需要导入如下jar包:



3、添加必要的配置文件

log4j.properties(日志文件)

略...


web.xml (设置springmvc的入口,核心Servlet:DispatcherServlet)

<!-- 前端控制器 -->
<servlet>
	<servlet-name>springmvc</servlet-name>
	<!-- DispatcherServlet是一个Servlet,是对请求进行转发的核心Servlet, 它的主要功能就是对请求进行分发(也就是将请求转发给某个具体的Controller) 
		,可以简单的理解为 DispatcherServlet就是一个总控制处理器。 它还可以和Spring的IOC容器完全集成在一起,从而可以更好的实现Spring的功能。 -->
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>springmvc</servlet-name>
	<!-- 
		可用:*.do、*.xxx、/、/xxx/* 
		唯一不可用:/*
	 -->
	<url-pattern>*.action</url-pattern>
</servlet-mapping>



springmvc-servlet.xml(springmvc的配置文件,放在WEB-INF目录下,命名规则是 {servlet-name}-servlet.xml ,例如:给servlet配置的名称是abc,那么该springmvc配置文件的名称就是abc-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">

    <!-- 1、定义处理器映射器HandlerMapping -->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

    <!-- 2、定义处理器适配器HandlerAdapter -->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

    <!-- 3、定义处理业务逻辑的Handler -->
    <bean id="/hello.action" class="com.its.springmvc.web.controller.HellloWorldController" />

    <!-- 4、定义视图解析器ViewResolver -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 前缀,存放页面的目录 -->
        <property name="prefix" value="/WEB-INF/views/" />
        <!-- 后缀,视图的后缀名 -->
        <property name="suffix" value=".jsp" />
    </bean>

</beans>


4、视图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>HelloWorld SpringMVC</title>
</head>
<body>

    <h1>${msg }</h1>

</body>
</html>


5、Handler:处理业务逻辑,返回模型数据和视图名称

package com.its.springmvc.web.controller;

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 HellloWorldController implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        ModelAndView mv = new ModelAndView();
        // 设置模型数据
        mv.addObject("msg", "My first SpringMVC application !");
        // 设置视图名称
        mv.setViewName("hello");
        return mv;
    }
}



6、测试



7、程序执行流程图



猜你喜欢

转载自blog.csdn.net/mayor125/article/details/52439712