application.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:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-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/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 <!-- Put this “context:component” in bean configuration file, it means, enable auto scanning feature in Spring. 
 The base-package is indicate where are your components stored, Spring will scan this folder and find out the bean (annotated with @Component) and register it in Spring container.
 ignoring all @Controller,所有controller的实例化在 mvc-config中完成 -->
    <context:component-scan base-package="com">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
    
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>/WEB-INF/jdbc.properties</value>
            </list>
        </property>
    </bean>    <!-- JNDI DataSource for J2EE environments  user c3p0-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass">
            <value>${jdbc.driver}</value>
        </property>
        <property name="jdbcUrl">
            <value>${jdbc.url}</value>
        </property>
        <property name="user">
            <value>${jdbc.user}</value>
        </property>
        <property name="password">
            <value>${jdbc.password}</value>
        </property>
        <property name="minPoolSize">
            <value>${jdbc.minPoolSize}</value>
        </property>
        <property name="maxPoolSize">
            <value>${jdbc.maxPoolSize}</value>
        </property>
        <property name="maxIdleTime">
            <value>${jdbc.maxIdleTime}</value>
        </property>
        <property name="acquireIncrement">
            <value>${jdbc.acquireIncrement}</value>
        </property>
  
        <property name="acquireRetryAttempts">
            <value>${jdbc.acquireRetryAttempts}</value>
        </property>
        <property name="acquireRetryDelay">
            <value>${jdbc.acquireRetryDelay}</value>
        </property>
        <property name="testConnectionOnCheckin">
            <value>${jdbc.testConnectionOnCheckin}</value>
        </property>
        <property name="automaticTestTable">
            <value>${jdbc.automaticTestTable}</value>
        </property>
        <property name="idleConnectionTestPeriod">
            <value>${jdbc.idleConnectionTestPeriod}</value>
        </property>
        <property name="checkoutTimeout">
            <value>${jdbc.checkoutTimeout}</value>
        </property>    </bean>
     <!--  hibernate.hbm2ddl.auto参数说明
                validate           加载hibernate时,验证创建数据库表结构
                create             每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
                create-drop        加载hibernate时创建,退出是删除表结构
                update             加载hibernate自动更新数据库结构
                none               不更新�据库结构
      -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="packagesToScan" value="com.model"/>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <!--  <prop key="hibernate.dialect">org.hibernate.dialect.sql</prop>-->
                <!-- <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop> -->                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
                <prop key="hibernate.cache.use_query_cache">false</prop>
                <prop key="hibernate.cache.use_second_level_cache">true</prop>                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.use_sql_comments">true</prop>                <!--
                <prop key="hibernate.search.default.directory_provider">org.hibernate.search.store.FSDirectoryProvider</prop>
                <prop key="hibernate.search.default.indexBase">/WEB-INF/indexes</prop>-->
            </props>
        </property>
    </bean>    <!-- ���hibernate transaction -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" autowire="byName"/>
<!--declarative transaction-->
    <!-- 配置aop 切入点 和事务访问策略 
    <aop:config>
      <aop:pointcut id="serviceOperation" expression="execution(* com.*.service..*Service.*(..))"/>
      <aop:advisor pointcut-ref="serviceOperation" advice-ref="txAdvice"/>
    </aop:config>
    <tx:advice id="txAdvice" >
        <tx:attributes>
            <tx:method name="del*" propagation="REQUIRED"/>
            <tx:method name="save*" propagation="REQUIRED"/>
            <tx:method name="update*" propagation="REQUIRED"/>
            <tx:method name="add*" propagation="REQUIRED"/>
            <tx:method name="create*" propagation="REQUIRED"/>
            <tx:method name="get*" read-only="true"/>
            <tx:method name="*"/>
        </tx:attributes>
    </tx:advice>
-->
    <!-- tx:annotation 自动配置事务,注意这个标签必需放在tx:advice下面,否则不起作用 -->
    <tx:annotation-driven/>
    <!-- Application Message Bundle -->
    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="/WEB-INF/messages/messages" />
        <property name="cacheSeconds" value="0" />
    </bean>
    <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" lazy-init="false" />
    <!-- 支持上传文件 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>
    <!-- Configures Spring MVC
    <import resource="mvc-config.xml" />
    -->
</beans>
<!-- 扫描com及子包,自动实例化带@controller注释的实例,
          由于实例化controller时会对controller关联的Service类一同实例化,所以这里需要排除@Service
     -->
      <context:component-scan base-package="com.controller" >
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
       <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
    </context:component-scan>
自动注解后,Controller里面就包含了,所有页面的启动方法:类似下面的"/loginC" 或者"/" 
 @RequestMapping(value = "/", method = RequestMethod.GET)
    String index() {
        return "b_info_1";
    }    @RequestMapping(value = "/loginC", method = RequestMethod.GET)
    public String loginC() {
        return "login";
    }
问题是:这么配置
<welcome-file-list>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
这个完全失效了。
我现在启动首页 都启动不了, 只能是:http://localhost:8080/loginC
我用glassfish_web.xml 配置了上下文根目录:  /
取消了项目名。但是想手动配置进入页面 就启用了。
index-servlet.xml
    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>    <!--
    Most controllers will use the ControllerClassNameHandlerMapping above, but
    for the index controller we are using ParameterizableViewController, so we must
    define an explicit mapping for it.
    -->
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <!-- 首页-->
                <prop key="index.htm">indexController</prop>
              
            </props>
        </property>
    </bean>    <bean id="viewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/view/"
          p:suffix=".jsp" />    <!--
    The index controller.
    -->
    <bean name="indexController" class="org.springframework.web.servlet.mvc.ParameterizableViewController" p:viewName="index" />
   
</beans>
部署项目是没问题的,但是上面的部署完全失效,想找到页面就得去Controller里面写方法。
 本人刚刚毕业,这框架还是刚刚学习。