Spring MVC配置静态资源和资源包

Spring MVC配置静态资源和资源包

本例映射:css目录:

pom.xml

 <properties>
  	<spring.version>4.3.5.RELEASE</spring.version>
  </properties>
  
  <dependencies>
  
     <!-- spring模块库 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency> 
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
    <!-- transaction事务 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
    </dependency>
    
    
    <!-- Servlet dependencies -->
    <!-- servlet(HttpServletRequest,HttpServletResponse) --> 
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>
     
    <!-- Jstl for jsp page -->
    <!-- https://mvnrepository.com/artifact/jstl/jstl -->
    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
     
    <!-- JSP API -->
    <!-- http://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
    <dependency>
         <groupId>javax.servlet.jsp</groupId>
         <artifactId>jsp-api</artifactId>
         <version>2.2</version>
         <scope>provided</scope>
     </dependency>
     
    
    
  </dependencies>
  
  <build>
    <finalName>gugua18</finalName>
    <pluginManagement>
    	<plugins>
    		<plugin>
    			<groupId>org.apache.maven.plugins</groupId>
    			<artifactId>maven-war-plugin</artifactId>
    			<version>2.6</version>
    		</plugin>
    	</plugins>
    </pluginManagement>
  </build>

  

web.xml

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  
  <context-param>
  	<param-name>contextConfigLocation</param-name>
  	<param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>
  
  
  <servlet>
  	<servlet-name>springmvc</servlet-name>
  	<servlet-class> 
  	org.springframework.web.servlet.DispatcherServlet
  	</servlet-class>
  	<load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>springmvc</servlet-name>
  	<url-pattern>/</url-pattern>
  </servlet-mapping>
  
  <listener>
  	<listener-class>
  		org.springframework.web.context.ContextLoaderListener
  	</listener-class>
  </listener>
  
</web-app>

  

applicationContext.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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
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
					http://www.springframework.org/schema/context
					http://www.springframework.org/schema/context/spring-context.xsd">

</beans>

  

springmvc-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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
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
					http://www.springframework.org/schema/context
					http://www.springframework.org/schema/context/spring-context.xsd">


<!-- 引入包 -->
<context:component-scan base-package="springmvc"/>

<!-- 自动装配 -->
<context:annotation-config/>


<!-- Important!! -->
<!-- 配置静态资源: -->
<mvc:default-servlet-handler/>
<mvc:annotation-driven/>

<!-- Config resource mapping -->
<!-- 资源映射  -->
<mvc:resources location="/WEB-INF/resources/css/" mapping="/styles/**"></mvc:resources>


<!-- Config Properties file -->
<!-- 加载文件属性  -->
<bean id="addProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
	<property name="locations">
		<list><value>classpath:ApplicationRB.properties</value></list>
	</property>
</bean>

<!-- 视图配置 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix">
		<value>/WEB-INF/views/</value>
	</property>
	<property name="suffix">
		<value>.jsp</value>
	</property>
	<!-- exposedContextBeanNames属性来限制能够暴露到页面上的spring bean的名称列表 -->
	<property name="exposedContextBeanNames">
		<list>
			<value>addProperties</value>
		</list>
	</property>
</bean>

</beans>

  

将styles/css/目录映射到/WEB-INF/resources/css目录下

<mvc:resources location="/WEB-INF/resources/css/" mapping="/styles/**"></mvc:resources>

  

ApplicationRB.properties

text.loginPrompt=Enter user name and password
text.userName=User Name
text.password=Password

  

然后新建common.js/common.css

注意路径;

webapp/scripts/common.js

function sayHello()  {    
   alert("Hello from JavaScript");
}

  

webaapp/WEB-INF/resources/css/common.css

.button {
   font-size: 20px;
   background: #ccc;
}
 
.red-text {
   color: red;
   font-size: 30px;
}
 
.green-text {
   color: green;
   font-size: 20px;
}

  

然后是jsp

staticResourceTest.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>resource example</title>
<script type="text/javascript" src="${pageContext.request.contextPath}/scripts/common.js"></script>
<link src="${pageContext.request.contextPath}/styles/css/common.css">
</head>
<body>


<div class="red-text">Red Text</div>
<br>
<div class="green-text">Green Text</div>
<br>
<input type="button" class="button" onclick="sayHello();" value="Click me">


</body>
</html>

  

staticBoundleTest.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>boundle resouce example</title>
</head>
<body>

<h3>${addProperties['text.loginPrompt']}</h3>


${addProperties['text.userName']}:<input type="text" name="userName"/><br>
${addProperties['text.password']}:<input type="password" name="password"/>

</body>
</html>

  

控制器:

MyController.jva

package springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class MyController {

	
	@RequestMapping(value="/staticResourceTest", method=RequestMethod.GET)
	public String staticResource(Model model)
	{
		
		return "staticResourceTest";
	}
	
	@RequestMapping(value="/staticBoundleTest", method=RequestMethod.GET)
	public String staticBoundle(Model model)
	{
		return "staticBoundleTest";
	}
}

  

注意方法中一定要带:Model model,否则系统配置的文件属性,无法传递到jsp页面

访问地址:

http://localhost:8080/gugua18/staticBoundleTest

http://localhost:8080/gugua18/staticResourceTest

猜你喜欢

转载自www.cnblogs.com/achengmu/p/9186567.html
今日推荐