最近,在学习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中的知识点优化细节,如:国际化、主题等等。

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

SpringNote01.基于SpringMVC-Hibernate的Blog系统的更多相关文章

  1. springMVC用法 以及一个简单的基于springMVC hibernate spring的配置

    替代struts 1  web.xml中配置springmvc中央控制器 <?xml version="1.0" encoding="UTF-8"?> ...

  2. springMvc+hibernate的web application的构建

    闲来没事,想整理下一些知识. 这篇文章是关于spring的web程序的搭建,有什么不对的地方希望大家批评指正. 首先我们要了解什么是spring,这里可能很多大家也都明白,无非是一个管理对象的一个容器 ...

  3. JAVA WEB快速入门之从编写一个基于SpringMVC框架的网站了解Maven、SpringMVC、SpringJDBC

    接上篇<JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP.IOC)>,了解了Spring的核心(AOP.IOC)后,我们再来学习与实践Maven.Sp ...

  4. spring+springmvc+hibernate 礼品管理系统

    spring+springmvc+hibernate template礼品管理系统 1.简单介绍 如标题所示,这篇文章简单写了一个基于spring+springmvc+hibernate templa ...

  5. 前后端分离开发,基于SpringMVC符合Restful API风格Maven项目实战(附完整Demo)!

    摘要: 本人在前辈<从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)>一文的基础上,实现了一个基于Spring的符合REST风格的完整Demo,具有MVC分层结构并 ...

  6. JSP+Spring+SpringMVC+Hibernate+Mysql实现的校园失物招领网站

    项目简介 项目来源于:https://github.com/wenlongup/LostAndFound 因原github仓库无数据库文件,经过本人修改,现将该仓库重新上传至个人gitee仓库. ht ...

  7. Maven搭建SpringMVC+Hibernate项目详解 【转】

    前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...

  8. springmvc+hibernate入门-揭开神秘的面纱

            Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这 ...

  9. 转: 基于nginx的hls直播系统

    转自:http://blog.csdn.net/cjsafty/article/details/9108587 看点: 1. 详细解解答了 nginx rtmp配置过程. 前写了一篇基于nginx的h ...

随机推荐

  1. Xshell不能连接SSH的解决

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 重新启动看看:/etc/init.d/ssh restart (/etc/ini ...

  2. Java专项面试训练(一)

    1.在Java中,( )类提供定位本地文件系统,对文件或目录及其属性进行基本操作( D ) A.FileInputStream B.FileReader C.FileWriter D.File解析:F ...

  3. paip.c++ qt 目录遍历以及文件操作

    paip.c++ qt 目录遍历以及文件操作 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/a ...

  4. React-Native获取文本框的值

    要想获取文本框的值,首先我们需要看一下官方文档的解释: 这里的意思是说当文本框的内容改变的时候,文本框的输入的内容就会作为一个参数进行传递.因此我们就可以获取到文本框里面的内容就好了. constru ...

  5. struts2 <s:iterator> 遍历方法

    1.MapAction.java import java.util.ArrayList;   import java.util.HashMap;   import java.util.List;    ...

  6. HDU 4798 - Skycity

    告诉你一幢楼的高度,楼的层数,每层一样高. 每一层的底边是一个圆,下一层的玻璃一定要包括进上一层的底边. 每层玻璃铺成棱柱形,玻璃有最小面积限制. 问你这层楼最小的总玻璃数是多少. 求出每层最小的玻璃 ...

  7. u-boot基本命令

    1.查看环境变量 printenv 2.网络相关命令 设置开发板ip:setenv ipaddr 192.168.2.110 设置子网掩码:setenv netmask 255.255.255.0 设 ...

  8. vim自动补全文章搜集

    引用文章A:http://blog.csdn.net/wendy260310/article/details/18035555 文章介绍:添加C++标准库的tags文件方法.(中文版) 引用文章B:h ...

  9. MysqlDataSource里的Connection实现类实现了isValid(int timeout)方法

    在项目中,需要连接mysql数据库的时候,我们最好选择使用数据库连接池,即需要选择DataSource. 而在使用c3p0的ComboPooledDataSource时,发现它的Connection实 ...

  10. [汇编语言]-第五章[bx]和loop指令

    1- [bx]和内存单元的描述 [0]表示内存单元, 他的偏移地址为0 mov ax,[0] 将一个内存单元的内容送入到ax.这个内存单元的长度为2字节(字单元),存放一个字,偏移地址为0,段地址在d ...