springmvc之HelloWorld

原创 2015年07月11日 11:55:08

首先来看看springmvc工程的项目结构,采用maven构建。


POM配置:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.ztz.springmvc</groupId>
	<artifactId>springmvc</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<dependencies>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1-b08</version>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.16</version>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.5.2</version>
		</dependency>
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>standard</artifactId>
			<version>1.1.2</version>
		</dependency>

	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>


然后看下web工成的web.xml配置

<display-name>springmvc</display-name>
	<!-- 加载spring配置文件 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>
	<!-- 字符集过滤器 -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	<!-- spring监听器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<!-- 防止spring内存溢出监听器 -->
	<listener>
		<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
	</listener>
	<!-- spring mvc servlet -->
	<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:spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springMvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>


web.xml里面配置我就不多说了,注释写的很清楚了。不过说下Spring mvc拦截的URL,其实常见的写法是*.do、/*、/app,但是这些模式都不是很好。

	<servlet-mapping>
		<servlet-name>springMvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
通过将DispatcherServlet映射到 / ,声明了它会作为默认的servlet并且会处理所有的请求,包括对静态资源的请求。但是一般来说,我们无需去拦截静态资源(比如:css、js、图片),Spring提供了一个很方便的配置,使得我们不必过于担心细节。

<!-- 处理对静态资源的请求 -->
<mvc:resources location="/static/" mapping="/static/**" />

接下来配置控制器跟视图解析器(spring-mvc.xml)

	<!--默认的mvc注解映射的支持 -->
	<mvc:annotation-driven/>
	<!-- 处理对静态资源的请求 -->
	<mvc:resources location="/static/" mapping="/static/**" />
	<!-- 扫描注解 -->
	<context:component-scan base-package="com.ztz.springmvc.controller"/>
	<!-- 视图解析器 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
        <!-- 前缀 -->
		<property name="prefix" value="/WEB-INF/jsp/"/>
		<!-- 后缀 -->
		<property name="suffix" value=".jsp"/>
	</bean>

 Controller层:

package com.ztz.springmvc.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/user")
public class UsersController {
	@RequestMapping(value="/findAll")
	private String findAll(HttpServletRequest request){
		request.setAttribute("hello", "spring mvc Helloworld");
		return "index";
	}
}

JSP页面:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
request.setAttribute("basePath", basePath);
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>springmvc</title>
</head>
<body>
${hello}
<br/>
<img alt="logo" src="${basePath}static/images/java_logo.jpg">
</body>
</html>


启动服务,浏览器访问:http://127.0.0.1:8080/springmvc/user/findAll





版权声明:本文为博主原创文章,未经博主允许不得转载。

SpringMVC 的第一个程序——HelloWorld

SpringMVC 的HelloWorld
  • Fangxiaowei9527
  • Fangxiaowei9527
  • 2016年07月25日 09:10
  • 1742

Spring 4 MVC HelloWorld 纯注解方式(带源码)【超赞】

【本系列其他教程正在陆续翻译中,点击分类:spring 4 mvc 进行查看】 【翻译 by 明明如月 QQ 605283073】 #项目下载地址:http://websystique.com/?...
  • w605283073
  • w605283073
  • 2016年05月07日 15:25
  • 7431

spring-mvc环境搭建及helloworld的demo实现

使用spring 4.1.6: 所用jar包: ---Spring 4.1.6: spring-aop-4.1.6.RELEASE.jar spring-aspects-4.1.6.RELEASE....
  • wang725
  • wang725
  • 2015年12月22日 11:40
  • 1075

SpringMVC 第一篇【万能的Hello World】

前言        既然大家看到这篇文章,相信大家都听说过SpringMVC也大概知道它是做什么的。请允许我简单的介绍一下SpringMVC 给那些初学者一些入门的提示。        对...
  • songyongfeng
  • songyongfeng
  • 2013年03月22日 14:03
  • 8488

SpringMVC HelloWorld实例开发及部署

SpringMVC HelloWorld实例开发及部署 2017-01-24 目录 1 Tomcat及Eclipse Tomcat插件安装配置   1.1 Tomcat的安装   1.2 E...
  • wodeai1235
  • wodeai1235
  • 2017年01月31日 12:08
  • 1303

学习SpringMVC——从HelloWorld开始,简单快速上手springmvc

转自:http://www.cnblogs.com/bigdataZJ/p/springmvc1.html 前言:   时隔十二年,中国女排最终过关斩将,用3:1的成绩证明了自己的实力...
  • zh123456zh789
  • zh123456zh789
  • 2017年03月06日 16:07
  • 1138

SpringMVC之一个在JSP页面输出“HelloWorld”的Spring MVC实例

配置web.xml作用:装载DispatcherServlet类,读取Spring配置文件,设置一些初始化参数,加入标记库,设置比如 * .do 、* .form的映射等。 dispa...
  • jyxmust
  • jyxmust
  • 2017年02月08日 22:34
  • 488

SpringMVC学习系列(3) 之 URL请求到Action的映射规则 在系列(2)中我们展示了一个简单的get请求,并返回了一个简单的helloworld页面。本篇我们来学习如何来配置一个acti

SpringMVC学习系列(3) 之 URL请求到Action的映射规则 在系列(2)中我们展示了一个简单的get请求,并返回了一个简单的helloworld页面。本篇我们来学习如何...
  • huhui0406
  • huhui0406
  • 2016年12月07日 21:27
  • 735

从零开始搭建SpringMVC框架以及最简单的 Hello World 实例

转自:http://blog.csdn.net/linyk3/article/details/47155931 1Java环境要求: 1.1JDK 1.6 下载的是:jdk1...
  • jessysong
  • jessysong
  • 2017年04月05日 22:14
  • 629

使用IDEA 搭建springmvc环境的项目

无论是从头开始学习一门新的语言还是技术,我们的入门都是从HelloWorld开始,也许就是因为这样,我在学习Spring MVC的时候,就有一种偏执,一定要写出一个HelloWorld来。研究了好久,...
  • weixin_37852133
  • weixin_37852133
  • 2017年03月16日 08:40
  • 422
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:springmvc之HelloWorld
举报原因:
原因补充:

(最多只允许输入30个字)