最近,在学习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. php使用PDO方法详解

    PDO::exec:返回的是int类型,表示影响结果的条数. 复制代码 代码如下: PDOStatement::execute 返回的是boolean型,true表示执行成功,false表示执行失败, ...

  2. Python 自动化脚本学习(二)

    流程控制 布尔值 temp = True temp = False 比较符号 == != < <= > >= 与或非 and or not 混合布尔的比较 (4<5)an ...

  3. 使用 apache ant 轻松实现文件压缩/解压缩(转)

    原文地址:http://blog.csdn.net/irvine007/article/details/6779492 maven配置ant包: <dependency> <grou ...

  4. 了解SQL注入攻击

    SQL注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,这是SQL注入的标准释义. 随着B/S模式被广泛的应用,用这种模式编写应用程序的程序员也越来越多,但由于开发人员的水 ...

  5. java基础之集合List-ArrayList、LinkedList、Vector的差别

    PS:本篇博客主要參考jdk的底层源代码.而非自己动手写代码. 请问ArrayList.LinkedList.Vector的差别 ①ArrayList底层实际上是採用数组实现的(而且该数组的类型的Ob ...

  6. 【二分答案nlogn/标解O(n)】【UVA1121】Subsequence

    A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, a ...

  7. kafka中处理超大消息的一些考虑

    Kafka设计的初衷是迅速处理短小的消息,一般10K大小的消息吞吐性能最好(可参见LinkedIn的kafka性能测试).但有时候,我们需要处理更大的消息,比如XML文档或JSON内容,一个消息差不多 ...

  8. C#比较两个时间大小

    DateTime t1 = Convert.ToDateTime("2012-12-31 23:59:00");            DateTime t2 = Convert. ...

  9. sql server数据库主键自增一插入特定值

    ID identity(1,1) SET IDENTITY_INSERT TableName ON INSERT TableName(ID) VALUES(110) SET IDENTITY_INSE ...

  10. SQL-LINQ-Lambda 语法对照

    SQL LINQ Lambda  SELECT *FROM Employees from e in Employees  select e Employees .Select (e => e)  ...