下午想试着去完成一个连接数据库的Spring mvc用户管理小系统,首先是在配置applicationContext.xml文件的数据源出了问题,去查一下才发现web.xml跟applicationContext.xml的配置还是有很多部分没去了解的!找到一个算是完整点的配置方法。

  • 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"  
    xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  
    <!-- 定义个缺省的控制适配器 -->  
    <bean  
       class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>  
    <!-- 获取配置文件 -->  
    <bean id="config"  
       class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
       <property name="locations">  
           <list>  
              <value>classpath:db-config.properties</value>  
           </list>  
       </property>  
    </bean>  
    <!-- 获取数据源 -->  
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">  
       <property name="driverClassName">  
           <value>${db.dirverClass}</value>  
       </property>  
       <property name="url">  
           <value>${db.url}</value>  
       </property>  
       <property name="username">  
           <value>${db.username}</value>  
       </property>  
       <property name="password">  
           <value>${db.password}</value>  
       </property>  
    </bean>  
    <!--  
       URL到处理器的映射列表可以配置多个  
       mappings属性健值为URL程序文件地址,而值为处理器的Bean名字,URL程序文件地址可采用路径匹配的模式,如:  
       com/mvc/t?st.jsp:匹配com/mvc/test.jsp、com/mvc/tast.jsp等 com/mvc /*.jsp  
       :匹配所有com/mvc/下带jsp后缀的URL com/mvc  
       /**/test.jsp:匹配所有在com/mvc路径下或子孙路径下的test.jsp com/mvc  
       /**/*.jsp:匹配所有com/mvc路径下或子孙路径下带.jsp后缀的URL cn/**/web/bla.jsp:匹配  
       cn/option/web/dog.jsp cn/option/test/web/dog.jsp cn/web/dog.jsp的请求  
    -->  
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
       <property name="mappings">  
           <value>  
              user.do=userAction  
</value>  
       </property>  
    </bean>  
   
    <!--定义视图通过internalResourceView来表示使用的是Servlet/jsp技术-->  
    <bean id="viewResolver"  
       class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
       <property name="viewClass">  
           <value>org.springframework.web.servlet.view.InternalResourceView  
           </value>  
       </property>  
       <!--jsp存放的目录-->  
       <property name="prefix">  
           <value>/jsp/</value>  
       </property>  
       <!--jsp文件的后缀-->  
       <property name="suffix">  
           <value>.jsp</value>  
       </property>  
    </bean>  
    <bean id="userDao" class="com.yjde.springmvc.UserDao">  
       <property name="dataSource"ref="dataSource"></property>  
    </bean>  
    <!--定义控制器-->  
    <bean id="userAction" class="com.yjde.springmvc.UserController">  
       <property name="dao">  
           <ref bean="userDao"/>  
       </property>  
       <property name="commandClass">  
           <value>com.yjde.springmvc.UserDao</value>  
       </property>  
       <property name="viewpage">  
           <value>userInfo</value>  
       </property>  
    </bean>  
</beans>  

web.xml:

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5"  
    xmlns="http://java.sun.com/xml/ns/javaee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
    <servlet>  
        <!--springmvc的核心是DispatcherServlet,它负责控制整个页面的请求路径-->  
        <servlet-name>dispatcherServlet</servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
<!--初始化参数>/WEB-INF/classes/相当于src目录-->  
        <init-param>  
        <!-- 这个param-name必须是contextConfigLocation-->  
            <param-name>contextConfigLocation</param-name>  
            <param-value>/WEB-INF/classes/applicationContext.xml</param-value>  
        </init-param>  
        <load-on-startup>2</load-on-startup>  
    </servlet>  
 <!--拦截所有以do结尾的请求-->  
    <servlet-mapping>  
        <servlet-name>dispatcherServlet</servlet-name>  
        <url-pattern>*.do</url-pattern>  
    </servlet-mapping>  
<!--处理从页面传递中文到后台而出现的中文乱码问题-->  
    <filter>  
        <filter-name>encodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>encodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>     
  <welcome-file-list>  
    <welcome-file>index.jsp</welcome-file>  
  </welcome-file-list>  
</web-app> 

    搞定了数据源之后!开始MVC的各个层的新建。首先是实体层(entity)然后是DAO层包括DAOImpl用于实现DAO里面的接口。这是一种松耦,如果下次需要使用sql server数据库,就只需要更改DAOImpl就行了!接着Service层。服务层是一个中间层,跟dao层controller层打交道。

   接着到操作数据库了!看得文章里面基本上都是使用getJdbcTemplate()方法来实现增删改查,又是去查了很多文章才弄的懂!比之前使用的那种方法简单了很多。接触了spring之后很多东西变得简单了!使用注解,连been都不用手动去写了。不过得从最基础的been开始写起!看资料弄清楚。前两天是硬吃了整个spring mvc今天一整天算是来填补其中的漏洞,把很多不解都搞清楚。 弄到现在基本上把环境搞清楚了!对spring的依赖注入了解的更深刻,只是一些注解还不是很熟悉!具体怎么使用还是得去查资料。

 

posted on 2014-08-01 15:49  严zhi  阅读(601)  评论(0编辑  收藏  举报