求一个Java的ssh项目源码

欢迎访问我的个人网站==》
  整理一下从前写的SSH框架的例子,供新人学习,使用到了注解的方式.
  源码和数据库文件在百度网盘:  提取码:br27
  对新同学的建议:最好的学习方法是自己手动敲一遍,切不可看过别人写的,就觉得自己会做了
  1、首先将项目mywork3.rar解压,导入到myeclipse中,注意修改applicationContext.xml 中用户名、密码,jdk使用1.6以上的就可以。
  解压后其目录结构如下:
  2、在mysql中新建数据库mydb
  3、导入SQL文件 user.sql
  4、启动项目,输入http://localhost:8080/mywork3/ 即可打开页面
1 &?xml version="1.0" encoding="UTF-8"?&
2 &web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&/welcome-file-list&
&!-- 用来定位Spring XML文件的上下文位置 --&
&context-param&
&param-name&contextConfigLocation&/param-name&
&param-value&classpath:applicationContext.xml&/param-value&
&/context-param&
&!-- spring监听 --&
&listener&
&listener-class&org.springframework.web.context.ContextLoaderListener&/listener-class&
&/listener&
&!-- 过滤器将 Hibernate Session 绑定到请求线程中,它将自动被 Spring 的事务管理器探测到 --&
&filter-name&openSessionInViewFilter&/filter-name&
&filter-class&org.springframework.orm.hibernate3.support.OpenSessionInViewFilter&/filter-class&
&init-param&
&param-name&singleSession&/param-name&
&param-value&false&/param-value&
&/init-param&
&filter-mapping&
&filter-name&openSessionInViewFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&filter-name&struts2&/filter-name&
&filter-class&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
39 &/web-app&
&applicationContext.xml
1 &?xml version="1.0" encoding="UTF-8"?&
2 &beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"&
&!-- 用注解方法注入bean 上边schemaLocation的三条语句顺序很重要,否则报错 --&
&context:annotation-config /&
&context:component-scan base-package="com" /&
&!-- 数据库连接池 --&
&bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close"&
&property name="driverClassName" value="com.mysql.jdbc.Driver" /&
&property name="url" value="jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8" /&
&property name="username" value="root" /&
&property name="password" value="123456" /&
&!-- 配置sessionFactory ,数据库配置在hibernate.cfg.xml中--&
&!--LocalSessionFactoryBean 加载bean方式 &mapping resource="com/model/User.hbm.xml"/&
AnnotationSessionFactoryBean 加载bean方式 &mapping class="com.model.User"/& ,它主要功能是取消了hbm.xml文件
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"&
&property name="dataSource" ref="dataSource" /&
&!-- 配置实体描述文件 --&
&property name="mappingResources"&
&value&com/model/User.hbm.xml&/value&
&/property&
&!--扫描com.cuangwu包下以及子包种有 @Service @Controller @Repository @Component
注解的类,一旦发现,则将其纳入到spring容器中管理
此spring.jar必须是 Spring2.5以上版本的,因为,Spring2.5之前org.springframework.orm.hibernate3.LocalSessionFactoryBean类中,
并没有 packageToScan 这个属性,只有mappingResuorces这个属性。而packageToScan这个属性正是映射包中的类,而mappingResuorces只是映射某个文件。--&
&!-- &property name="packagesToScan" & &list& &value&com.model&/value&
&/list& &/property& --&
&property name="hibernateProperties"&
&prop key="hibernate.format_sql"&true&/prop&
&prop key="hibernate.hbn2dd1.auto"&update&/prop&
&prop key="hibernate.dialect"&org.hibernate.dialect.MySQLDialect&/prop&
&/property&
&bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"&
&property name="sessionFactory" ref="sessionFactory" /&
&!-- 配置事务管理器 --&
&bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"&
&property name="sessionFactory" ref="sessionFactory" /&
&tx:advice id="txAdvice" transaction-manager="transactionManager"&
&tx:attributes&
&tx:method name="find*" read-only="true" /&
&tx:method name="add*" propagation="REQUIRED" /&
&tx:method name="delete*" propagation="REQUIRED" /&
&tx:method name="update*" propagation="REQUIRED" /&
&/tx:attributes&
&/tx:advice&
&!-- aop代理设置--&
&aop:config&
&aop:pointcut expression="execution(public * com.service..*.*(..))"
id="myPointcut" /&
&aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut" /&
&/aop:config&
76 &/beans&
&struts.xml
1 &?xml version="1.0" encoding="UTF-8" ?&
2 &!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"&
4 &struts&
&constant name="struts.i18n.encoding" value="UTF-8" /&
&package name="struts2" extends="struts-default" namespace="/"&
&!-- 配置action当与spring整合,class=bean的名称(如果bean没有指定value,则首写字母要小写))
&action name="add" class="userAction" method="addUser" &
&result name="success"&success.jsp&/result&
&result name="error"&fail.jsp&/result&
&action name="query" class="userAction" method="queryUser"&
&result name="success"&index.jsp&/result&
&action name="delete" class="userAction" method="deleteUser"&
&result name="success"&success.jsp&/result&
&result name="error"&fail.jsp&/result&
&action name="edit" class="userAction" method="editUser"&
&result name="editUser"&editUser.jsp&/result&
&result name="success"&success.jsp&/result&
&/package&
24 &/struts&
&com.action.UserAction.java
1 package com.
3 import java.util.L
4 import javax.annotation.R
6 import org.apache.struts2.ServletActionC
7 import org.springframework.beans.factory.annotation.A
8 import org.springframework.context.annotation.S
9 import org.springframework.stereotype.C
10 import com.model.U
11 import com.opensymphony.xwork2.ActionS
12 import com.service.UserS
14 @Component("userAction")
15 @Scope("prototype")
16 public class UserAction extends ActionSupport{
private static final long serialVersionUID = 1L;
@Autowired
private UserService userS
private String searchT
private List&User&
public User getUser() {
public void setUser(User user) {
this.user =
public UserService getUserService() {
return userS
public void setUserService(UserService userService) {
this.userService = userS
public String addUser(){
if(userService.exits(user.getUsername())){
return ERROR;
userService.save(user);
return SUCCESS;
public String queryUser(){
searchText = getParam("queryText");
users = userService.queryUsers(searchText);
return SUCCESS;
public String editUser(){
Integer param = Integer.parseInt(getParam("param"));
if(param == 0){
Integer id = Integer.parseInt(getParam("id"));
user = userService.getUser( id);
return "editUser";
}else if(param == 1){
userService.modifyUser(user);
} catch (Exception e) {
e.printStackTrace();
return SUCCESS;
public String deleteUser(){
Integer param = Integer.parseInt(getParam("id"));
userService.deleteUser(param);
} catch (Exception e) {
e.printStackTrace();
return queryUser() ;
public String getSearchText() {
return searchT
public void setSearchText(String searchText) {
this.searchText = searchT
protected String getParam(String key){
return ServletActionContext.getRequest().getParameter(key);
public List&User& getUsers() {
public void setUsers(List&User& users) {
this.users =
&com.dao.UserDao.java
1 package com.
3 import java.util.L
4 import javax.annotation.R
5 import org.springframework.orm.hibernate3.HibernateT
6 import org.springframework.stereotype.C
7 import com.model.U
9 @Component
10 public class UserDAO {
private HibernateTemplate hibernateT
public HibernateTemplate getHibernateTemplate() {
return hibernateT
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateT
public void save(User user){
hibernateTemplate.save(user);
public void update(User user){
hibernateTemplate.update(user);
public void delete(Integer id){
User user=getUser(id);
hibernateTemplate.delete(user);
public User getUser(Integer id){
return (User)this.hibernateTemplate.load(User.class,id);
public List&User& findByUsername(String username){
return (List&User&) hibernateTemplate.find("from User u where u.username = ?",username);
public List&User& queryByUsername(String username){
return (List&User&) hibernateTemplate.find("from User u where u.username like ?","%"+username+"%");
public List&User& findAllUsers(){
return this.getHibernateTemplate().find("from User order by id");
&com.model.User.java
1 package com.
3 import java.io.S
5 public class User implements Serializable{
private static final long serialVersionUID = 1L;
private int
* 用户密码
* 用户信息
public int getId() {
public void setId(int id) {
public String getUsername() {
public void setUsername(String username) {
this.username =
public String getUserpassword() {
public void setUserpassword(String userpassword) {
this.userpassword =
public String getUsermessage() {
public void setUsermessage(String usermessage) {
this.usermessage =
public static long getSerialversionuid() {
return serialVersionUID;
&com.model.User.hbm.xml
1 &?xml version="1.0" encoding="utf-8"?&
2 &!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&
5 &hibernate-mapping&
&class name="com.model.User" table="user" catalog="mydb"&
&id name="id" type="java.lang.Integer"&
&column name="id" /&
&generator class="assigned"&&/generator&
&property name="username" type="java.lang.String"&
&column name="username" length="30" not-null="true" unique="true"/&
&/property&
&property name="userpassword" type="java.lang.String"&
&column name="userpassword" length="30" not-null="true" /&
&/property&
&property name="usermessage" type="java.lang.String"&
&column name="usermessage" length="30" /&
&/property&
21 &/hibernate-mapping&
&com.service.UserService.java
1 package com.
2 import java.util.L
4 import com.model.U
6 public interface UserService {
* 判断用户是否存在
public boolean exits(String username);
* 保存用户
public void save(User user);
* 修改用户
public void modifyUser(User user);
* 删除用户
public void deleteUser(Integer id);
* 获取指定id用户
public User getUser(Integer id);
* 获取用户列表
public List&User& queryUsers(String username);
&com.service.UserServiceImp.java
1 package com.
3 import java.util.L
5 import org.springframework.beans.factory.annotation.A
6 import org.springframework.stereotype.S
7 import org.springframework.transaction.annotation.T
8 import com.dao.UserDAO;
9 import com.model.U
11 @Service("userService")
12 public class UserServiceImp implements UserService {
@Autowired
private UserDAO userDAO;
public boolean exits(String username){
List&User& userList = userDAO.findByUsername(username);
if(userList.size()&0)
return true;
return false;
public List&User& queryUsers(String username){
if(username == null || "".equals(username))
return userDAO.findAllUsers();
else return userDAO.queryByUsername(username);
public User getUser(Integer id){
return userDAO.getUser(id);
@Transactional
public void save(User user){
userDAO.save(user);
@Transactional
public void modifyUser(User user){
userDAO.update(user);
@Transactional
public void deleteUser(Integer id){
userDAO.delete(id);
&com.util.HibernateUtil.java
1 package com.
3 import org.hibernate.SessionF
4 import org.hibernate.cfg.C
6 public class HibernateUtil {
private static SessionF
SessionFactory sf = new Configuration().configure().buildSessionFactory();
&editUser.jsp
1 &%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&
2 &%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%&
4 String path = request.getContextPath();
5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
8 &!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
&base href="&%=basePath%&"&
&title&SSH&/title&
&meta http-equiv="pragma" content="no-cache"&
&meta http-equiv="cache-control" content="no-cache"&
&meta http-equiv="expires" content="0"&
&meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
&meta http-equiv="description" content="SSH"&
&form action="edit.action" method="get"&
ID:&input type="text" name="user.id" value="${user.id}" readonly="readonly"&&br/&
UserName:&input type="text" name="user.username" value="${user.username}"&&br/&
UserPassword:&input type="password" name="user.userpassword" value="${user.userpassword}"&&br/&
UserMessage:&input type="text" name="user.usermessage" value="${user.usermessage}"&&br/&
&input type="hidden" name="param" value="1"/&
&input type="submit" value="提交"&
&input type="reset" value="重置"&
34 &/html&
1 &%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
9 &!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
12 &base href="&%=basePath%&"&
14 &title&fail&/title&
15 &meta http-equiv="pragma" content="no-cache"&
16 &meta http-equiv="cache-control" content="no-cache"&
17 &meta http-equiv="expires" content="0"&
18 &meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
19 &meta http-equiv="description" content="fail"&
21 &/head&
&div style=""&fail&/div&&br/&
UserName不能相同
&a href="query.action?queryText="&返回主页&/a&
27 &/body&
28 &/html&
&index.jsp
1 &%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&
2 &%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%&
4 String path = request.getContextPath();
5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
8 &!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
11 &base href="&%=basePath%&"&
13 &title&SSH&/title&
14 &meta http-equiv="pragma" content="no-cache"&
15 &meta http-equiv="cache-control" content="no-cache"&
16 &meta http-equiv="expires" content="0"&
17 &meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
18 &meta http-equiv="description" content="SSH"&
20 &/head&
添加user,如果姓名没有冲突,那么就添加到数据库,如果姓名冲突了就不能添加,返回失败页面
&form action="add.action" method="get"&
UserName:&input type="text" name="user.username"&&br /&
UserPassword:&input type="password" name="user.userpassword"&&br /&
UserMessage:&input type="text" name="user.usermessage"&&br /&
&input type="submit" value="提交"& &input type="reset"
value="重置"&
根据姓名查询,若不输入,则查询全部
&form action="query.action" method="post"&
UserName: &input type="text" name="queryText" value="${searchText }" /&
&input type="submit" value="查询" /&
&table width="70%" border="1px" align="center" cellpadding="0"
cellspacing="0"&
&tr bgcolor="#ff0"&
&th width="25%"&编号&/th&
&th width="25%"&姓名&/th&
&th width="25%"&信息&/th&
&th width="25%"&操作&/th&
&c:forEach var="user" items="${users }"&
&td&${user.id}&/td&
&td&${user.username}&/td&
&td&${user.usermessage}&/td&
&td&&a href="edit.action?param=0&id=${user.id}"&编辑&/a& &a
href="delete.action?id=${user.id}"&删除&/a&&/td&
&/c:forEach&
60 &/body&
61 &/html&
&success.jsp
1 &%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&
2 &%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%&
4 String path = request.getContextPath();
5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
8 &!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
11 &base href="&%=basePath%&"&
13 &title&SSH&/title&
14 &meta http-equiv="pragma" content="no-cache"&
15 &meta http-equiv="cache-control" content="no-cache"&
16 &meta http-equiv="expires" content="0"&
17 &meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
18 &meta http-equiv="description" content="SSH"&
20 &/head&
添加user,如果姓名没有冲突,那么就添加到数据库,如果姓名冲突了就不能添加,返回失败页面
&form action="add.action" method="get"&
UserName:&input type="text" name="user.username"&&br /&
UserPassword:&input type="password" name="user.userpassword"&&br /&
UserMessage:&input type="text" name="user.usermessage"&&br /&
&input type="submit" value="提交"& &input type="reset"
value="重置"&
根据姓名查询,若不输入,则查询全部
&form action="query.action" method="post"&
UserName: &input type="text" name="queryText" value="${searchText }" /&
&input type="submit" value="查询" /&
&table width="70%" border="1px" align="center" cellpadding="0"
cellspacing="0"&
&tr bgcolor="#ff0"&
&th width="25%"&编号&/th&
&th width="25%"&姓名&/th&
&th width="25%"&信息&/th&
&th width="25%"&操作&/th&
&c:forEach var="user" items="${users }"&
&td&${user.id}&/td&
&td&${user.username}&/td&
&td&${user.usermessage}&/td&
&td&&a href="edit.action?param=0&id=${user.id}"&编辑&/a& &a
href="delete.action?id=${user.id}"&删除&/a&&/td&
&/c:forEach&
60 &/body&
61 &/html&
原创文章,欢迎转载,转载请注明出处
阅读(...) 评论()求推荐几个SSH或者springMVC的实例项目源码下载
<a data-traceid="question_detail_above_text_l&&
求推荐几个SSH+mysql(不一定SSH俱全,也不一定mysql)或者springMVC的实例项目源码下载,想学习下...
SHOPXX,JEECMS
--- 共有 1 条评论 ---
谢谢分享,先拿JEECMS瞅瞅...
去代码分享里面找找..&
不过建议你先学习基础的 jdbc . + servlet 这种架构来做 .. 然后改为ssh 比较2中的不同点.
方便加深学习也能够加深理解ssh之类的框架.
struts 之流基本上是基于filter &过滤url地址后进行的种种封装. & 配置之类的是为了方便找寻到你自己写的java class 现在的web框架之流基本上不会脱离这种设计的思路.. 只要他兼容servlet
spring 是一个超级容器. 帮你组织对象之类. 方便解耦对象之间的依赖关系. 抽象重用的业务规则.
其实他的最高境界是你用不用都感觉不出来. &不过官方衍生了许多项目,导致项目太大了.现在分开了许多模块.&
推荐学习spring. 里面的东西太多了.有点博大精深的感觉.各个方面都有涉及. 而且源码也比较容易看懂.
--- 共有 1 条评论 ---
springmvc demo实例教程源代码下载:
--- 共有 1 条评论 ---
我去,两年前的帖子你都找到了,这个帖子我都不认识了....不过还是谢谢啦,亲!求一个java的SSH项目“源码”,简单可行,基于Struts2+Hibernate+Spring_百度知道
求一个java的SSH项目“源码”,简单可行,基于Struts2+Hibernate+Spring
本人可以大概弄出一个登录流程,但进阶不行,求个代码来参考做作业。...
本人可以大概弄出一个登录流程,但进阶不行,求个代码来参考做作业。
&#xe6b9;答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
猛士张翠山
猛士张翠山
采纳数:916
获赞数:1836
学Struts2+Hibernate+Spring建议看李刚的《轻量级Java_EE企业应用实战_Struts_2+Spring_3+Hibernate整合开发_第3版》,书见附件。随书源码可以到51ct0下载,地址见图,免豆的。最后一章就是整合了所有知识做的一个小项目
来自电脑网络类芝麻团
采纳数:30
获赞数:139
参与团队:
你可以将hibernate换成mybatis.mybatis比hibernate学起来更加容易,我不会hibernate
其实hibernate还不是很难,但加上spring整合,就晕了
hibernate,我纯粹不会,不知道怎么用,公司一直用mybatis,mybatis好用多了,求采纳哈,我可以给你struts2+mybatis+hibernate的项目。
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。相关热词:
大家都在下载
这些是最新的
声明:本站发布的资源均来自互联网,仅供交流学习之用,请勿作商业用途,所有资源版权归原作者所有。如果有侵犯到您的权益,请联系本站删除,谢谢合作!
Copyright &
版权所有&&浙ICP备号-10重磅!纯干货!8套Java项目(内含SSH-SSM)全部源码免费放送了!重磅!纯干货!8套Java项目(内含SSH-SSM)全部源码免费放送了!皮卡小星百家号应部分老铁们的要求,小编连夜加班加点整理出对应的项目以及老铁部分的需求。项目包含当下比较流行的两大框架(SSH-SSM),项目有源码和数据库以及老铁们喜欢的视频教学(一共是28GB)。今天就先整理如下8个项目,后续会不定时的继续免费共享好资源。喜欢的朋友按如下的方式获取资料:点我头像,在关注按钮旁边有发私信!私信发送 “666” 数字自动获取28GB项目源码链接,谢谢。8大项目点我头像,在关注按钮旁边有发私信!私信发送 “666” 数字自动获取28GB项目源码链接,谢谢。源码+视频点我头像,在关注按钮旁边有发私信!私信发送 “666” 数字自动获取28GB项目源码链接,谢谢。全部资料大小点我头像,在关注按钮旁边有发私信!私信发送 “666” 两个字自动获取28GB项目源码链接,谢谢。后续会不定时的继续免费共享好资源,再此希望此项目对朋友们有所帮助!本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。皮卡小星百家号最近更新:简介:分享一些自己对综合新鲜事情的看法。作者最新文章相关文章

我要回帖

更多关于 ssh购物车源码 的文章

 

随机推荐