在qq群里面有很多童鞋经常提出一些问题,我搭建的spring框架示例怎么启动不起来?spring入门示例谁有?等等问题。所以就写了这篇文章,绝对手把手讲解啊!
一、准备篇
spring版本:spring-framework-3.1.1.RELEASE
jar包:spring包下面的dist文件夹下的所有jar包
第三方jar包:
jsp标签包:jstl-api-1.2.jar、standard.jar
日志包:commons-logging-1.0.4.jar
二、环境搭建
1、新建Dynamic Web Project项目:spring
2、在web.xml文件中添加如下配置
<servlet><servlet-name>spring</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><description>加载/WEB-INF/spring-mvc/目录下的所有XML作为Spring MVC的配置文件</description><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring-mvc*.xml</param-value></init-param><!– load-on-startup:表示启动容器时初始化该Servlet –><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>spring</servlet-name><!– url-pattern:表示哪些请求交给Spring Web MVC处理, "/"是用来定义默认servlet映射的。也可以如"*.action"表示拦截所有以action为扩展名的请求。 –><url-pattern>*.action</url-pattern></servlet-mapping>
3、在WEB-INF目录下面创建spring-mvc.xml文件:(这里的文件需要在web.xml文件中进行配置的,详见第2步)
<?xml version="1.0" encoding="UTF-8"?><beans xmlns=""xmlns:xsi=""xmlns:context=""xmlns:mvc=""xsi:schemaLocation=" http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context/spring-context-3.1.xsd"><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /><!– 表示所有实现了org.springframework.web.servlet.mvc.Controller接口的Bean可以作为Spring Web MVC中的处理器。如果需要其他类型的处理器可以通过实现HadlerAdapter来解决。 –><bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /><!– InternalResourceViewResolver:用于支持Servlet、JSP视图解析;viewClass:JstlView表示JSP模板页面需要使用JSTL标签库,classpath中必须包含jstl的相关jar包;prefix和suffix:查找视图页面的前缀和后缀(前缀[逻辑视图名]后缀),比如传进来的逻辑视图名为hello,则该jsp视图页面应该存放在“view/hello.jsp”; –> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/view/" /><property name="suffix" value=".jsp" /></bean><bean name="/hello" class="com.spring.mvc.HelloWorldController"/> <!–注意这里的类路径不要错了,如果不用注解的话,那么每当新建一个controller类就需要在这里配置一下 –></beans>
4、在src下面添加controller类:HelloWorldController.javapackage com.spring.mvc;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.context.request.RequestContextHolder;import org.springframework.web.context.request.ServletRequestAttributes;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;public class HelloWorldController implements Controller {public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();ModelAndView mv = new ModelAndView();// 添加模型数据,可以是任意的POJO对象mv.addObject("message", "Hello World!");// 设置逻辑视图名,,视图解析器会根据该名字解析到具体的视图页面mv.setViewName("hello");return mv;}} 5、启动tomcat服务器,访问一下
我们的访问url中包括了/hello.action;当以.action为后缀的访问路径都将被DispatcherServlet拦截过滤(web.xml文件中已经配置),然后/hello前缀将被映射到HelloWorldController控制器处理(spring-mvc.xml文件中已经配置)
下一篇将讲解使用注解方式创建和访问controller
爱的力量大到可以使人忘记一切,却又小到连一粒嫉妒的沙石也不能容纳