- 浏览: 717125 次
文章分类
最新评论
-
白天看黑夜:
Apache Mina Server 2.0 中文参考手册(带 ...
基于Mina的Http Server以及简单的Http请求客户端 -
Baple:
...
Maven常用配置 -
喵喵大神:
推荐聚合数据上一些免费API接口https://www.juh ...
又一波开放API接口 精品文摘、站内搜索、笑话详情 -
ioandy:
请问楼主,为什么我在测试的时候,会收到2次请求?
基于Mina的Http Server以及简单的Http请求客户端 -
jammk:
之前看到一个,应该也是灵图的,http://www.cnblo ...
又来一只开放API——基于FAQ的问答机器人
一、需求:由于本人要做一个集中告警服务端,所以需要接收HTTP请求,然后把收到的数据记录到SQLServer数据库中。
二、实现方式:使用SpringMVC接收HTTP请求,能同时接收GET和POST的请求,然后使用hibernate来存储数据信息。
三、主要实现:
1.数据库建表脚本。
2.生成的数据库表影射类,用到了hibernate的注解方式,不再使用hbm映射文件。
3.spring集成hibernate的主要配置文件
4.使用springMVC接收HTTP请求请参考之前的一篇日志
http://ajita.iteye.com/admin/blogs/1396264 。
5.收到HTTP请求后的主要存储逻辑。一般情况下,会把数据库操作的方法再封装到一个dao类中,但是由于本测试代码只涉及到一个存储的过程,很简单,所以直接把spring的hibernateTemplate注解到接收到HTTP后的处理逻辑中了。
6.完整代码见附件。可以直接生成war文件,发布到Tomcat下部署就行。
我本机的HTTP的GET方式测试的URL为:http://localhost:8080/SimpleTest/submitsimplemonitorlog.do?level=2&message=gaojing&issuccess=true&cityname=anhui&monitortime=20120221051223
另外,代码中还包含了一个只使用hibernate(没有集成到spring)来存日志的测试类(可以删掉,只是我最初测试时候用的)。
二、实现方式:使用SpringMVC接收HTTP请求,能同时接收GET和POST的请求,然后使用hibernate来存储数据信息。
三、主要实现:
1.数据库建表脚本。
CREATE TABLE [Log_SimpleMonitor]( [ID] [int] IDENTITY(1,1) NOT NULL, [CityName] [varchar](32) NOT NULL, [MonitorTime] [datetime] NOT NULL, [IsSuccess] [bit] NOT NULL DEFAULT ((0)), [MonitorLevel] [varchar](16) NOT NULL DEFAULT ('INFO'), [DetailContent] [varchar](2048) NOT NULL, [CreateTime] [datetime] NOT NULL )
2.生成的数据库表影射类,用到了hibernate的注解方式,不再使用hbm映射文件。
package com.ajita.entity; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "Log_SimpleMonitor") public class Log_SimpleMonitor implements Serializable { @Id @Column(name = "ID") @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; @Column(name = "CityName") private String cityName; @Column(name = "MonitorTime") private Date monitorTime; @Column(name = "IsSuccess") private boolean isSuccess; @Column(name = "MonitorLevel") private String MonitorLevel; @Column(name = "DetailContent") private String message; @Column(name = "CreateTime") private Date createTime; //getters and setters }
3.spring集成hibernate的主要配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="..." default-lazy-init="true"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>net.sourceforge.jtds.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:jtds:sqlserver://localhost:1433/mydb</value> </property> <property name="username"> <value>sa</value> </property> <property name="password"> <value>123456</value> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"> <ref local="dataSource" /> </property> <property name="packagesToScan"> <value>com.ajita.entity</value> </property> <!-- <property name="mappingResources"> <list> <value>user.hbm.xml</value> </list> </property> --> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- 使用注解,在beans标签中添加context命名空间及其对应的schemaLocation --> <context:annotation-config /> <context:component-scan base-package="com.ajita.*" /> </beans>
4.使用springMVC接收HTTP请求请参考之前的一篇日志
http://ajita.iteye.com/admin/blogs/1396264 。
5.收到HTTP请求后的主要存储逻辑。一般情况下,会把数据库操作的方法再封装到一个dao类中,但是由于本测试代码只涉及到一个存储的过程,很简单,所以直接把spring的hibernateTemplate注解到接收到HTTP后的处理逻辑中了。
package com.ajita.controller; import java.io.IOException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.ajita.entity.Log_SimpleMonitor; @Controller public class SimpleMoniorLogReceiver { private HibernateTemplate hibernateTemplate; @Autowired public void setHibernateTemplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } public HibernateTemplate getHibernateTemplate() { return hibernateTemplate; } @RequestMapping("/submitsimplemonitorlog.do") public void receive( Model model, HttpServletRequest request, @RequestParam(value = "cityname", required = false) String cityName, @RequestParam(value = "monitortime", required = false) String monitorTime, @RequestParam(value = "issuccess", required = false) String isSuccess, @RequestParam(value = "level", required = false) String level, @RequestParam(value = "message", required = false) String message, HttpServletResponse response) throws ParseException { try { ServletOutputStream stream = response.getOutputStream(); if (level == null || message == null || cityName == null || monitorTime == null || isSuccess == null) { stream.print("ERROR"); stream.close(); return; } Log_SimpleMonitor monitorLog = new Log_SimpleMonitor(); monitorLog.setCityName(cityName); monitorLog.setMonitorTime(new Date()); monitorLog.setMonitorLevel(level); monitorLog.setMessage(message); monitorLog.setSuccess(Boolean.parseBoolean(isSuccess)); monitorLog.setCreateTime(new Date()); DateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmss"); monitorLog.setMonitorTime(dateFormat.parse(monitorTime)); hibernateTemplate.save(monitorLog); stream.print("SUCCESS"); stream.close(); } catch (IOException ex) { } } }
6.完整代码见附件。可以直接生成war文件,发布到Tomcat下部署就行。
我本机的HTTP的GET方式测试的URL为:http://localhost:8080/SimpleTest/submitsimplemonitorlog.do?level=2&message=gaojing&issuccess=true&cityname=anhui&monitortime=20120221051223
另外,代码中还包含了一个只使用hibernate(没有集成到spring)来存日志的测试类(可以删掉,只是我最初测试时候用的)。
- SimpleTest.rar (8.6 KB)
- 下载次数: 49
发表评论
-
[转]redis中各种数据类型对应的jedis操作命令
2014-07-17 17:24 1945一、常用数据类型简介: redis常用五种数据类 ... -
使用JTA实现跨库事务
2014-02-28 11:18 4414本文是基于atomikos实现的JTA跨库事务 示例中的数据访 ... -
CXF记录WebService的soap日志
2012-12-11 14:28 7483cxf本身就支持日志功能,能打印传入传出的soap报文,但是需 ... -
上传一个基于Jax-ws的WebService
2012-12-04 19:08 1563留作备忘! 基于Jax-ws的WebService。发布至T ... -
上传一个最简单的cxf结合spring的Java WebService例子
2012-12-04 13:04 2625备忘!附件为项目。hello world 版本的。 指定了命 ... -
Tomcat集群——使用apache负载
2012-11-06 00:05 4431使用Apache做Tomcat负载的好处: 1. 提升对静态文 ... -
Tomcat集群(使用了nginx负载)
2012-11-04 17:26 7933前一篇文章介绍了使用nginx进行负载均衡的方式,本篇开始搭建 ... -
Maven培训分享
2012-10-30 22:45 3428最近准备了一个Maven讲解的ppt,初稿,传上来分享一下。顺 ... -
使用nexus搭建内部Maven仓库及使用简介
2012-06-20 18:07 10109由于项目组需要,要搭 ... -
基于Mina的Http Server以及简单的Http请求客户端
2012-03-22 20:37 27910目的: Java平台下的内部组件之间的通信。 ... -
Java发送邮件
2012-03-08 10:10 1183使用Java Mail原生API发送邮件(也可以用apache ... -
XStream转换Java对象与XML
2012-03-07 09:32 307471.引入需要的jar包,在pom.xml中配置依赖 < ... -
简单的log4j.properties示例
2012-02-23 23:55 4427##屏幕日志 log4j.appender.stdout ... -
基于Spring MVC接收并处理HTTP请求
2012-02-07 10:08 4330要开发一个接收HTTP请求的服务端,由于端口的限制,只 ...
相关推荐
这个名为"SS2HTEST"的压缩包文件,很可能包含了一个完整的Web项目,演示了如何将Struts2、Spring和Hibernate整合,并与SQL Server 2005数据库协同工作,实现一个基本的登录功能。以下是对这些技术的详细解释: 1. *...
本项目"Spring+Hibernate+SQL Server 电子商城"便是一个典型的案例,它利用了Spring框架作为应用的基础架构,Hibernate作为对象关系映射工具,以及SQL Server作为数据库管理系统。下面我们将深入探讨这些技术在构建...
《欣想电子商城:Spring+Hibernate+SQL Server的实践与解析》 欣想电子商城是一个基于Java技术栈的电子商务平台,其核心技术选用了Spring、Hibernate和SQL Server这三大组件,构建了一个功能完善的在线购物系统。这...
Struts2.2.3、Spring3.0.5、Hibernate3.6.5与SQL Server的整合是Java Web开发中的常见技术栈,这个实例源码呈现了一个完整的整合过程,适用于初学者和开发者进行学习与参考。以下是这些技术在实际应用中的详细知识点...
Struts2、Hibernate3.2、Spring2.0和SQL Server 2000是Java Web开发中的四个关键组件,它们构成了一个强大的企业级应用框架,通常被称为SSH2(Struts2、Spring2、Hibernate2)集成框架。下面将详细阐述这些技术以及...
SSH框架,全称为Struts2、Hibernate3和Spring3,是Java EE开发中常用的一套集成框架,用于构建高效、可扩展的企业级应用程序。这个压缩包文件包含了使用SSH框架进行项目开发的相关资源,以及可能的数据库脚本(Sql)...
【标题】"easyui-1.5+springMVC+Hibernate+SqlServer2012" 涉及的是一个基于Web开发的技术栈,主要由四部分组成:EasyUI、Spring MVC、Hibernate以及Microsoft SQL Server 2012。这个组合在IT行业中常用于构建高效、...
SSH2整合,即Struts2、Spring和Hibernate的集成,是Java Web开发中常见的技术栈,主要用于构建高效、模块化且可维护的Web应用程序。在这个案例中,SSH2与SQL Server2008数据库结合,提供了完整的MVC(模型-视图-控制...
在SpringBoot中,通过Spring Data JPA,我们可以方便地集成Hibernate,实现数据的CRUD(创建、读取、更新、删除)操作。在双数据源的场景下,Hibernate可以分别配置两个不同的数据源,从而实现数据在不同数据库间的...
Struts、Hibernate、Spring 和 SQL Server 2005 是Java Web开发中四个非常关键的组件,它们在构建企业级应用程序时发挥着重要作用。 Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,主要...
总的来说,"Spring+Hibernate整合+SQL Server2008"是一个典型的Java企业级应用开发模式,它涵盖了Spring框架的管理能力、Hibernate的ORM功能以及SQL Server的数据库服务,为开发人员提供了一种高效、稳定且易于维护...
SSH整合,全称为Struts、Spring和Hibernate的集成,是一种常见的Java Web开发框架组合,用于构建高效、可维护的企业级应用程序。在这个例子中,我们看到的是一个基于SSH的用户注册功能的实现,使用的开发工具是...
指的是为了运行JSF、Spring和Hibernate集成的项目,需要包含所有相关的库文件,如JSF的实现库、Spring的核心库、Hibernate的JAR文件,以及可能需要的其他依赖,如JDBC驱动(对于连接SQL Server数据库)。 **Tomcat6...
【搭建WEBWORK+SPRING+HIBERNATE框架】是一个集成三大流行开源框架的过程,用于构建高效、可扩展的企业级Web应用。以下是详细的步骤和知识点: 1. **开发环境配置**: - 使用MyEclipse 5.5.1 GA作为开发工具,它...
Struts、Hibernate、Spring 和 SQL Server 2005 是Java Web开发中常见的技术栈,它们各自在应用程序架构中承担着不同的角色。本项目将这些技术整合在一起,为开发高效、灵活的企业级应用提供了基础。 Struts 是一个...
在JSF+Spring+Hibernate的组合中,Hibernate作为数据访问层,负责将Java对象映射到数据库中的表,处理SQL查询和更新操作。开发者可以通过配置Hibernate的实体类和映射文件,实现数据的CRUD(创建、读取、更新、删除...
- 在SSH框架中,Spring作为业务层的核心,管理对象的生命周期和依赖关系,可以集成Struts的Action,处理事务管理,以及提供数据访问抽象,如Hibernate。 3. **Hibernate**: - Hibernate是一个对象关系映射(ORM...
至于Apache Tomcat,它是广泛使用的Java Servlet和JavaServer Pages(JSP)容器,也是Struts2、Spring4和Hibernate运行的基础。在这个压缩包中包含的Apache Tomcat 8.0.47是Tomcat的一个版本,它提供了运行Java Web...