Spring -- 2

     在上一个Demo的基础上添加SpringMVC

  •      添加必要的jar包。
  •      对web.xml配置,使应用起动的时候能够自动启动Spring容器(前面使用JUnit4测试,所以没有配置)。代码:

<!-- 从类路径下加载Spring配置文件,classpath关键字特指类路径下加载 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>

<!-- 负责启动Spring容器的监听器,它将从上下文参数获取Spring文件配置的地址 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

    通过Web容器上下文参数指定Spring配置文件的地址,多个配置文件可以用逗号或者空格分隔,建议用逗号分隔。
    指定Spring提供的ContextLoaderListener监听器,在Web应用启动的时候运行,根据contextConfigLocation提供的Web容器参数获取Spring配置文件,启动Spring。

  •     配置SpringMVC的相关信息,代码:
 1  1 <!-- SpringMVC的主控Servlet -->
 2  2   <servlet>
 3  3      <servlet-name>springMvc</servlet-name>
 4  4      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 5  5      <load-on-startup>1</load-on-startup>
 6  6   </servlet>
 7  7   
 8  8   <!-- springMVC处理的URL -->
 9  9   <servlet-mapping>
10 10      <servlet-name>springMvc</servlet-name>
11 11      <url-pattern>*.do</url-pattern>
12 12   </servlet-mapping>

 

     这里配置一个Servlet作为SpringMVC的总的控制器,它像struts一样也是通过一个Servlet捕获URL,然后再进行相关的处理。
     SpringMVC也有一个配置文件,主要是对试图解析器进行配置。这个配置文件和SpringMVC配置的Servlet名字有一个默认的契约,即采用<servlet-name>-servlet.xml,在web-inf目录下。
     还可以直接在配置文件里指定(忘了,后补)。

     

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
 4     xmlns:context="http://www.springframework.org/schema/context"
 5     xsi:schemaLocation="http://www.springframework.org/schema/beans
 6        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 7        http://www.springframework.org/schema/context 
 8        http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 9        
10     <!-- 扫描web包,应用Spring的注解 -->
11     <context:component-scan base-package="web"/>
12     
13     <!-- 配置视图解析器,将ModelAndView及字符串解析为具体的页面 -->
14     <bean
15         class="org.springframework.web.servlet.view.InternalResourceViewResolver"
16         p:viewClass="org.springframework.web.servlet.view.JstlView" 
17         p:prefix="/WEB-INF/jsp/"
18         p:suffix=".jsp" />        
19 </beans>

 

      对于配置的具体介绍,截个图吧。
      

     以后把视图解析换成tiles模板,现在做项目用的是tiles模板。

  •       然后就是跑程序了。

      写了一个index.jsp页面,一个userInfo.jsp页面。
      启动应用默认的是index.html,因为无法访问web-inf下的文件,所以在index.html直接写了一句JS代码导向我的Controller
      window.location = 'main.do?gotoIndex';

  •       在写程序的时候有报错,基本上都是由于jar包的问题。比如要引用JSTL需要导入jstl-api-1.2.jar和taglibs-standard-impl-1.2.1.jar

      这写东西,如果不配置真的不知道,对不同的jar包有了更清楚的认识了。
      还有就是我自动注入的时候,如果只是配置扫描实现类还是不行的,需要把接口也要配置到扫描目录下,否则会报错。
      上传工程,把jar包去掉,不然太大了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2014-04-24 23:36  萍踪  阅读(163)  评论(0编辑  收藏  举报