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,也成功运行。这篇文章,我们来分析下原理。 通过在 web.xml 配置 DispatcherServlet 前端控制器, web 容器 启动时加载, 并且进行初...

springmvc使用实体参数和ServletAPI

一、 实体参数 前面我们知道使用注解@RequestParam可以获得参数的值,那么现在提交一个表单怎么获得其中的值了。你可以说可以使用request.getParameter("")获得,是的这种方...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

解决Notepad++ Plugin Manager无法加载插件的方法

今天正好安装了Notepad++,结果发现Plugin Manager里插件一个也没有,网上对应的方法都没有,最后无意间看到Plugin Manager Settings 里的提示,试了一下居然成功了...

springmvc之@Controller、@RequestMapping等注解讲解

springmvc中@Controller、@RequestMapping、@RequestParam、@RequestHeader 、@CookieValue 、@RequestBody注解的简单介...

初探springmvc

Springmvc是什么 Springmvc(spring web mvc)是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进...

Spring MVC过滤器-字符集过滤器(CharacterEncodingFilter)

Spring的字符集过滤通过用于处理项目中的乱码问题,该过滤器位于org.springframework.web.filter包中,指向类CharacterEncodingFilter,Charact...
  • geloin
  • geloin
  • 2012-04-09 15:53
  • 43426

spring装配集合

前面我们已经了解了如何使用spring装备简单的属性(使用value属性)和引用其他bean的属性(使用ref属性)。但是value和ref仅在Bean的属性值是单个值的情况下才有用。当bean的属性...

Spring自带字符编码过滤器

Java Web项目添加Spring支持后,可使用Spring自带的字符编码过滤器。 源码在spring-web-4.1.0.RELEASE.jar包,org.springframework.web...

@Autowired和@Resource装配

从Spring2.5开始就可以使用注解自动装配Bean的属性。使用注解自动装配与XML中使用autowire属性自动装配并没有太大差别。 Spring容器默认禁用注解装配。所以在基于注解自动装配,我们...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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