所有的java框架都是jar包,下载导入就安装好了框架,之后就是进行配置。
#下载
http://repo.springsource.org/libs-release-local/org/springframework/spring/4.3.6.RELEASE/spring-framework-4.3.6.RELEASE-dist.zip
上面的链接复制到浏览器,两个版本号自行更改。
#配置
- 把下载的所有jar包放到
WEB-INF/lib
里就行,个人认为包导的越多越好,毕竟导一次+开发完成清理1+1=2
次,缺哪个导哪个>2次。 - SpringMVC框架需要配置
web.xml
和spring-mvc.xml
两个文件和一个控制器如果没有自己添加,web.xml
放到WEB-INF下
,spring-mvc.xml
见下。
##web.xml
下面代码放到<web-app>
包裹下:
<!-- 配置DispatchcerServlet -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置Spring mvc下的配置文件的位置和名称 -->
<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>springDispatcherServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
可能改动
- 如果
spring-mvc.xml
文件被放到src目录下,这个<param-- value>classpath:spring-mvc.xml</param-value>
不用改。 <url-pattern>*.html</url-pattern>
这句中的*.html
可以自己改成*.do
、·*.jsp·之类的,主要影响最后url的后缀,有些伪静态可能愿意用*.html
。
其余不用改。
##spring-mvc.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-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<!-- 配置自动扫描的包 -->
<context:component-scan base-package="com.apache"></context:component-scan>
<!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value="/WEB-INF/view/"></property>
<property name = "suffix" value = ".jsp"></property>
</bean>
</beans>
可能改动
<context:component-scan base-package="com.apache"></context:component-scan>
此处的base-package
可以填控制器所在的包名,com.apache
包含com.apache.a
和com.apache.b
…
所有被包含的控制器在url访问到时都会被扫描到。<property name = "prefix" value="/WEB-INF/view/"></property>
此处的value
为MVC中的view路径。<property name = "suffix" value = ".jsp"></property>
此处为的value
为view文件夹中文件的格式。
其余不用改。
##控制器
控制器就是java类,可以新建一个com.apache.conlloer
包,新建一个HelloConlloer.java
控制器
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloWorldController {
/**
* 1. 使用RequestMapping注解来映射请求的URL
* 2. 返回值会通过视图解析器解析为实际的物理视图, 对于InternalResourceViewResolver视图解析器,会做如下解析
* 通过prefix+returnVal+suffix 这样的方式得到实际的物理视图,然后会转发操作
* "/WEB-INF/views/success.jsp"
* @return
*/
@RequestMapping("/hello")
public String hello(Model model) {
model.addAttribute("message","SprinfMVC你好");
System.out.println("hello world");
return "hello";
}
}
- @Controller 声明一下是SpringMVC控制器。
- @RequestMapping("/hello"),此处的hello为url后缀。
- return的内容为view里的文件名,之前在
spring-mvc.xml
中曾经配置过view文件夹路径和视图文件的后缀。
##视图
在view
文件夹里写控制器中return
到的视图文件,
随便建一个jsp文件,此处的后缀和上面的定义有关,名字就是return
的字符串。
<%@ page language="java" pageEncoding="UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//ZH">
<html>
<HEAD>
<TITLE>测试</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</HEAD>
<body>
${message }
</body>
</html>
#总结
- 在
web.xml
中配置spring-mvc.xml
的路径和url访问控制器的后缀。 spring-mvc.xml
中配置视图(view)的路径和文件类型。- 在java包里写控制器进行逻辑处理,同时声明我是控制器,和通过什么名字访问到我。
- 写控制器
return
到的视图文件。