Spring MVC之hello world
2015-09-22 10:33
471 查看
1. 包含相应的库
使用Maven<!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.2.1.RELEASE</version> </dependency>
2. 配置web.xml
这里配置了一个名为DispatcherServlet的servlet,对应的class为org.springframework.web.servlet.DispatcherServlet<servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
配置servlet处理的url类型为:/,即所有url。
<servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
3. 配置Spring
在WEB-INF目录下新建spring配置文件:DispatcherServlet-servlet.xml。这里的文件名必须和web.xml中的<servlet-name>相对应。<servlet-name>ABC</servlet-name> 例如:如果这里配置的名称为ABC,则配置文件名为:ABC-servlet.xml
DispatcherServlet-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:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:ehcache="http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring/ehcache-spring-1.1.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd" default-lazy-init="true"> <mvc:default-servlet-handler/> <!-- 使用注解 --> <mvc:annotation-driven /> <!-- 自动扫描以下包的类,并注册为bean --> <context:component-scan base-package="com.project.package" /> <!-- 将以下作为静态资源处理,不用经过控制器了, **表明任意子路径 --> <mvc:resources mapping="/css/**" location="/css/" /> <mvc:resources mapping="/images/**" location="/images/" /> <mvc:resources mapping="/js/**" location="/js/" /> <!-- 视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property> <!-- 配置视图的前缀和后缀,这样在代码里就可以简写了 --> <!-- 例如:代码里返回视图:"home",则spring会解析为/WEB-INF/jsp/home.jsp文件 --> <property name="prefix"><value>/WEB-INF/jsp/</value></property> <property name="suffix"><value>.jsp</value></property> </bean> </beans>
4. 测试
4.1 编写控制器
// @Controller 表明这是一个控制器类 @Controller public class HomeController { // 将home方法映射到 "/" 和 "/home" 两个路径 @RequestMapping( {"/", "/home"} ) public String home() { return "home"; } }
4.2 视图文件
home方法返回了一个视图:“home”,根据以下spring配置规则<property name="prefix"><value>/WEB-INF/jsp/</value></property> <property name="suffix"><value>.jsp</value></property>
spring会将视图解析为/WEB-INF/jsp/home.jsp,因此,新建文件home.jsp
<html> <head></head> <body> <h1>hello world !</h1> </body> </html>
4.3 查看效果
发布网站(Eclipse,run on server), http://my_site/相关文章推荐
- java自学日记7
- 如何有效地记录 Java SQL 日志?
- java自学日记6
- eclipse重新编译源代码(二)
- java自学日记5
- eclipse重新编译源代码(一)
- JAVA中利用File类遍历文件时空指针报错
- java自学日记4
- java自学日记3
- Java中的instanceof关键字
- MyEclipse开发习惯
- eclipse and systemtap
- 15_09_22 Java 中写方法注意事项
- java中equals 和 == 的区别
- java解决跨域问题
- Spring拦截器
- java 学习银行调度学习笔记
- springAOP的注解
- JAVA反射详解
- Java字符串存储问题