SSM框架-在实际项目中运行中的问题总结

由于问题是在框架搭建以及运行运行过程中,这边文章是写在完成之后,当时很多问题都没有截图保存,这里只能详细的描述一下问题所在。后续遇到问道问题会及时补充。

1 SSM框架中RESTful支持

问题描述:在前面的文章中我们提到过 RESTful支持,在最后总结时我们也提到使用RESTful支持时,所有访问的地址由DispatcherServlet进行解析,对静态文件的解析需要配置不让DispatcherServlet进行解析,使用此种方式实现RESTful风格的url。所以,在我们使用RESTful时,应对静态文件进行配置SpringMVC.xml<mv:resources mapping="/js/**" location="/js/" />。但这种配置方式存在一定的问题,当我们的静态资源较多时,比如:image,css....等等,这种配置方式就很麻烦,所以我们采用<mvc:default-servlet-handler/>配置。

    <!--静态资源默认servlet配置
    (1)加入对静态资源的处理:js,gif,png
    (2)允许使用"/"做整体映射
     -->
    <mvc:default-servlet-handler/>

2 SSM框架中mabatis动态代理

使用自动扫描时,理论是不需要在mybatis核心配置文件中引入sql配置文件的,可事实是不引入会报错。这个问题的引发是因为笔者自己使用的是IDEA编辑器,而在学习过程中所参考的的资料是eclipse编辑器。

  • 在eclipse中mapper文件和mapper.xml配置文件是在同一目录文件下,所以上述配置就可以实现mapper的动态代理。
  • 在idea中,所有的配置文件都是在resources资源文件下,所以mapper文件和mapper.xml配置文件不在同一目录下,上述配置就无法实现动态代理,故而还是需要在核心配置文件中引入sql配置文件了。

解决:在spring-dao配置文件中,在配置SqlSessionFactory对象时,加入自动扫描mapper.xml的配置文件

    <!-- 3.配置SqlSessionFactory对象 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据源 -->
        <property name="dataSource" ref="dataSource" />
        <!-- 注入mybatis核心配置文件:sqlMapConfig.xml -->
        <property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml" />
        <!-- 扫描entity包 使用别名 -->
        <property name="typeAliasesPackage" value="edu.eurasia.entity" />
        <!-- 扫描sql配置文件:mapper需要的xml文件 -->
        <property name="mapperLocations" value="classpath:mapper/*.xml" />
    </bean>

3 Web静态资源

问题描述:在我们设置后台主页时,后台主页通常是不能被直接在地址栏输入地址访问到的,而实现这种功能的一种简单方法就是将我们的主页放到WEB-INF文件下,WEB-INF下的页面是不能通过地址栏直接访问得到,必须是后台进行返回才可以访问,从而我们可以实现不登录无法访问后台主页的功能。但是,笔者在操作过程中,将所有的静态资源文件(js,css,images...)都存放在WEN-INF文件下,导致页面样式丢失。
解决:在WEB-INF文件下,只能存放页面,所有的静态资源都必须放到WEB-INF文件外。因为,WEB-INF文件下的所有文件都不能通过地址栏得到,都必须经过后台的返回。

WEB-INF存放
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容