zoukankan      html  css  js  c++  java
  • SpringNote01.基于SpringMVC-Hibernate的Blog系统

        最近,在学习Spring,做这样一个简单的blog系统,主要是让自己动手练习使用Spring,熟练的使用才干进一步的深入学习。该项目使用Maven构建,使用git进行代码管理,通过这样一个小项目,熟悉了这两个工具的使用。代码托管在github上,感兴趣的同学能够一起来完好。

        项目地址:https://github.com/defshine/SpringBlog

        项目主要使用SpringMVC和Hibernate,后台数据库使用MySQL。前端使用Tiles和Boostrap。

        初步的设计,比較简单,数据设计,设计的pdm文件也在github上:

            

        眼下后台管理主要设计实现四个功能模块:

           1.发表文章。

           2.文章管理

           3.分类管理

           4.评论管理

     

        眼下实现的功能比較简单,在开发的过程中也遇到了一些小问题。

        问题一:org.hibernate.HibernateException: No Session found for current thread

             一開始集成springmvc和hibernate的时候,遇到这个问题,各种搜索,主要有两个原因:

             1.sessionFactory的配置位置是否正确。

             在web.xml中   

                                         

    应该配置在business-config中,而不是在mvc-core-config中。所以,要理清context的关系。这样的配置,sessionFactory会在rootWebApplicationContext中管理,而mvc是由子WebApplicationContext进行管理。

    2.spring的事务配置是否正确。

            首先是在xml中配置使用正确,是否使用正确注解。

           

        然后,在service层相关的方法中,使用@Transactional注解。

       而自己出现故障是在配置这个文件时,在头部引用了错误的xmlns。

     

        问题二:springmvc无法获取PUT和DELETE请求的參数。

        因为在设计API时候,參考了restful设计原则,更新和删除的时候使用PUT和DELETE请求,结果在cotroller的方法中无法通过httpServletRequest或者@ RequestParam注解获取请求參数。一种比較好的解决方法是使用@RequestBody注解获取參数。

        在排查问题时候,再次感受谷歌搜索到强大。吐槽一下垃圾百度。

        兴许的开发:

        首先,完毕blog的展示,眼下前端页面已经做好。

        然后,使用Spring中的知识点优化细节,如:国际化、主题等等。

        最后,将这个小系统的一些功能细节完好,如:分页等等。

  • 相关阅读:
    分布式缓存重建并发冲突和zookeeper分布式锁解决方案
    C# Datatable、DataReader等转化json
    OpenResty部署nginx及nginx+lua
    zookeeper+kafka集群的安装
    缓存数据生产服务的工作流程
    实现缓存与数据库双写一致性保障
    eclipse不提示问题
    Redis 多级缓存架构和数据库与缓存双写不一致问题
    代码这样写更优雅(Python版)
    java string.getBytes(“UTF-8”) javascript equivalent
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3833844.html
Copyright © 2011-2022 走看看