java ssh框架实例_[Java] SSH框架笔记_框架整合示例(一)

本文描述的是框架SSH集成的示例,由于在这个过程中有一些小的细节容易被遗忘,特别撰写了一篇小的博文来记录这个过程,希望对自己以及后来者能够起到积极意义。

本文中使用的框架和版本号为:

struts-2.3.1.2、hibernate-3.6.10、spring-3.1.1

其下载地址分别为:

http://struts.apache.org/download.cgi#struts2312

http://sourceforge.net/projects/hibernate/files/hibernate3/3.6.10.Final/

http://www.springsource.org/download/community?project=Spring%2520Framework&version=3.1.1.RELEASE

分别将其解压,需要注意的是本例中hibernate3还需要的是log4j,spring还需要commons-loging、commons-dbcp和commons-pool,在这里就不再赘述出其下载地址了。

需要删除的重复包为:asm-commons-3.3.jar和javassist-3.11.0.GA.jar

需要使用的JAR包截图:

d71e5e51f315b566dca355888efd8d18.png

接下来在jee中新建一个Dynamic Web Project,选择好运行环境:

fe409e7de65803c2f0e3073c06d405aa.png

相关文件组织如下:

d0fe899d4d3487cfdadf988bbe2d8fd6.png

源代码列举如下:

UserAction.java

Java代码  586d57a787faf5a30bc4b0e22f437727.png

package com.ssh.action;import com.opensymphony.xwork2.ActionSupport;

import com.ssh.pojo.User;

import com.ssh.service.UserService;

public class UserAction extends ActionSupport {

private static final long serialVersionUID = 1L;

private User user;

private UserService service;

public UserService getService() {

return service;

}

public void setService(UserService service) {

this.service = service;

}

public User getUser() {

return user;

}

public void setUser(User user) {

this.user = user;

}

public String execute(){

if (service.save(user)!=null) {

return SUCCESS;

}else {

return ERROR;

}

}

}

User.java

Java代码  586d57a787faf5a30bc4b0e22f437727.png

package com.ssh.pojo;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.Table;

@Entity

@Table(name="user")

public class User {

private Integer id;

private String username;

private String password;

@Id

@GeneratedValue

@Column(name="hr_id")

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

UserService.java

Java代码  586d57a787faf5a30bc4b0e22f437727.png

package com.ssh.service;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import com.ssh.pojo.User;

public class UserService {

private SessionFactory factory = null;

public SessionFactory getFactory() {

return factory;

}

public void setFactory(SessionFactory factory) {

this.factory = factory;

}

public User save(User user){

Session session = factory.getCurrentSession();

session.beginTransaction();

session.save(user);

session.getTransaction().commit();

return user;

}

}

log4j.properties

Properties代码  586d57a787faf5a30bc4b0e22f437727.png

### direct log messages to stdout ###

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target=System.out

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file hibernate.log ###

#log4j.appender.file=org.apache.log4j.FileAppender

#log4j.appender.file.File=hibernate.log

#log4j.appender.file.layout=org.apache.log4j.PatternLayout

#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=warn, stdout

#log4j.logger.org.hibernate=info

#log4j.logger.org.hibernate=debug

### log HQL query parser activity

#log4j.logger.org.hibernate.hql.ast.AST=debug

### log just the SQL

#log4j.logger.org.hibernate.SQL=debug

### log JDBC bind parameters ###

#log4j.logger.org.hibernate.type=info

#log4j.logger.org.hibernate.type=debug

### log schema export/update ###

log4j.logger.org.hibernate.tool.hbm2ddl=debug

### log HQL parse trees

#log4j.logger.org.hibernate.hql=debug

### log cache activity ###

#log4j.logger.org.hibernate.cache=debug

### log transaction activity

#log4j.logger.org.hibernate.transaction=debug

### log JDBC resource acquisition

#log4j.logger.org.hibernate.jdbc=debug

### enable the following line if you want to track down connection ###

### leakages when using DriverManagerConnectionProvider ###

#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace

struts.xml

Xml代码  586d57a787faf5a30bc4b0e22f437727.png

struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

/WEB-INF/content/error.jsp

/WEB-INF/content/success.jsp

/WEB-INF/content/{1}.jsp

error.jsp

Html代码  586d57a787faf5a30bc4b0e22f437727.png

pageEncoding="UTF-8"%>

html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

出错页面

对不起,出错了

register.jsp

Html代码  586d57a787faf5a30bc4b0e22f437727.png

pageEncoding="UTF-8"%>

html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

注册页面

欢迎注册,请在这里输入必要的注册信息:

success.jsp

Html代码  586d57a787faf5a30bc4b0e22f437727.png

pageEncoding="UTF-8"%>

html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

成功页面

成功了

applicationContext.xml

Xml代码  586d57a787faf5a30bc4b0e22f437727.png

xmlns="http://www.springframework.org/schema/beans"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">

class="org.apache.commons.dbcp.BasicDataSource">

class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

com.ssh.pojo.User

hibernate.dialect=org.hibernate.dialect.MySQLDialect

hibernate.show_sql=true

hibernate.hbm2ddl.auto=update

hibernate.current_session_context_class=thread

web.xml

Xml代码  586d57a787faf5a30bc4b0e22f437727.png

xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

id="WebApp_ID" version="3.0">

ssh03_demo

org.springframework.web.context.ContextLoaderListener

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

index.html

index.jsp

然后在Tomcat7上部署该项目即可,在浏览器中输入地址:http://localhost:8080/ssh_demo/register即可进入下面的页面:

c02f8c62392d4170696a8245d6543829.png

至此,SSH框架整合完成。

相关源码和jar包放在附件中。

下载次数: 2182

下载次数: 1635

下载次数: 2596

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值