当写好Struts和spring的配置文件之后,就可以开始写具体的代码了。
1 先看看处理类Action的
**
*
*/
package cn.xxxx.trade.user.action;
import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.opensymphony.xwork2.ActionSupport;
public class UserInfoAction extends ActionSupport
{
/**
* serialVersionUID.
*/
private static final long serialVersionUID = -6823936273178828935L;
/**
* logger.
*/
private static final Log log = LogFactory.getLog(UserInfoAction.class);
/**
* 注入用户信息管理接口实例.
*/
@Resource
private UserInfoService userInfoService;
/**
* 注入权限信息管理接口实例.
*/
@Resource
private PmService pmService;
/**
* 用户信息实体 .
*/
private UserInfo user;
/**
* 用户ID DWZ框架ajax请求参数.
*/
private int userId;
/**
* 用户id集:userIds.
*/
private int[] ids;
/**
* 页面传参对象 dwz .
*/
private DwzAjax dwz;
/**
* 封装组别集合的 .
*/
private List<PermissionGroup> pmGroupList;
/**
* 分页用 pageBean.
*/
private PageBean pageBean;
/**
* 每页记录数:numPerPage.
*/
private int numPerPage = 15;
/**
* 当前页数:pageNum.
*/
private int pageNum = 1;
//
// /**
// * 文件上传 .
// */
// private File upload;
/**
* 用户所选的风格主题.
*/
private String theme;
/**
* 查询并分页列出用户信息.
*
* @return listUserInfo.
*/
public final String listUserInfo()
{
log.info("*** search for list user info list ***");
// 获取用户信息
pageBean = userInfoService.queryForPage(user, numPerPage, pageNum);
// 获取用户权限组别信息
pmGroupList = pmService.queryGroupForPage();
log.warn(LogTool.userLog() + "列出所有用户信息");
return "listUserInfo";
}
Action类里面也只不过是一些属性(这些属性加上setter getter后,就可以在jsp提交表单和java类之间串联的处理)还有一些方法体。里面也注入了具体操作数据库的接口方法,接下来我们来看看接口是怎么写的
2 接口,没有方法体的
package cn.xxxx.trade.user.service;
public interface UserInfoService
{
/**
* 按条件查询并分页列出用户信息.
*
* @param user
* 用户信息对象.
* @param numPerPage
* 每页记录数.
* @param pageNum
* 当前页数.
* @return userList.
*/
PageBean queryForPage(UserInfo user, int numPerPage, int pageNum);
}
可以看到interface了。那么它的具体实现类是:
/**
*
*/
package cn.xxxx.trade.user.service.impl;
@Transactional
public class UserInfoServiceBean implements UserInfoService
{
/**
* logger.
*/
private static final Log log = LogFactory.getLog(UserInfoServiceBean.class);
/**
* sessionFactory .
*/
@Resource
private SessionFactory sessionFactory;
/**
* pageDao .
*/
@Resource
private PageDao pageDao;
/**
* 根据用户ID删除用户 .
*
* @param userIds
* .
* @return success or error .
*/
public final String deleteByUserIds(final int... userIds)
{
for (int userId : userIds)
{
try
{
UserInfo user = (UserInfo) sessionFactory.getCurrentSession().get(UserInfo.class, userId);
log.warn(LogTool.userLog() + "删除用户信息,帐号:" + user.getUserNo() + ",姓名:" + user.getUserName());
sessionFactory.getCurrentSession().delete(user);
} catch (HibernateException e)
{
log.info("*** delete merchant by merchantId :" + userId + " exception:", e);
break;
}
}
return "success";
}
}
分享到:
相关推荐
- **DAO接口与实现类**:定义数据访问接口并提供实现,便于单元测试及后期维护。 - **实体类**:表示数据库表对应的Java对象,通过Hibernate进行映射。 #### 五、开发工具与环境 - **IDE**:推荐使用Eclipse或...
5. 创建Service接口和实现类:Spring管理Service层,实现业务逻辑。 6. 配置Spring:编写applicationContext.xml,定义Bean和依赖注入。 7. 编写Action类:调用Service层方法,处理请求并返回结果。 8. 创建JSP页面...
在本项目中,通过特定的工具类`BuildCodeTest.java`,可以实现根据实体类Bean自动化生成相关的Action、Service接口(ServiceInter)和服务实现类(ServiceImpl),大大提高了开发效率。 1. **Spring框架**:Spring...
【标题】"javaweb ssh 聊天项目"是一个基于JavaWeb技术栈的SSH(Struts2、Spring、Hibernate)框架实现的在线聊天应用程序。这个项目旨在帮助开发者理解和掌握如何利用SSH框架来构建功能丰富的Web应用,特别是涉及到...
3. **服务层接口和实现**:定义明确的服务接口,提供单一职责的服务类实现,保持业务逻辑清晰。 Hibernate作为ORM(对象关系映射)工具,用于数据库操作。在使用Hibernate时,应遵循: 1. **实体设计**:实体类应...
8. **文件结构**:在S2SH目录中,可能会包含以下文件:Action类(如`UserAction.java`)、Service接口和实现类(如`UserService.java`和`UserServiceImp.java`)、DAO接口和实现类(如`UserDAO.java`和`UserDAOImpl....
标题 "一个SSH项目" 暗示我们正在讨论一个基于Spring、Struts和Hibernate(SSH)集成框架的Java Web项目。SSH是Java开发领域中常用的一种企业级应用框架,用于构建高效、可重用和模块化的Web应用程序。下面将详细...
这种模板通常会包含一些基础的实体类、DAO(数据访问对象)、服务接口和服务实现,以及Action类,使得开发者能够迅速搭建前后端交互的基本框架。 5. "代码自动生成": 代码自动生成工具可以极大提高开发效率。在...
这些测试代码可能会有Action类、Service接口及其实现、DAO接口及其实现、数据库映射文件(hbm.xml)、配置文件(如struts.xml、spring.xml、hibernate.cfg.xml)等,以及对应的HTML页面和JavaScript代码。...
在SSH项目中,Hibernate负责数据持久化,通过SessionFactory和Session接口实现数据的增删改查。 此项目源代码中提到的`webwork`,实际上是Struts1的一个版本,WebWork是一个早期的MVC框架,后来发展成为Struts2。...
通过分析这个源码,你可以学习到如何设计和组织一个SSH项目的结构,了解各组件之间的通信方式,以及如何利用这三个框架的优势来提高开发效率和代码质量。同时,对于想要提升Java Web开发技能的开发者来说,这是一个...
4. **DAO(Data Access Object)接口和实现**:生成访问数据库的接口和实现类,使用Hibernate Session进行CRUD操作。 5. **Service接口和实现**:定义业务逻辑接口及其实现,通常包括事务管理。 6. **Action类**:...
SSH框架中,Spring是全面的轻量级应用框架,提供了IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)等功能,使开发者能够更方便地管理对象和处理事务。Struts则是MVC...
1. **代码生成**:SSH代码生成器可以快速创建Action类、Model类、DAO接口和实现,以及对应的JSP页面。它遵循MVC模式,确保代码结构清晰。 2. **配置文件生成**:工具会自动生成struts.xml、spring.xml和hibernate....
通过Struts的Action配置,我们可以指定请求的处理路径和方法,以及跳转的页面。 整合SSH框架时,通常会有一个主配置文件,例如struts.xml,用于配置Struts2的Action和结果页面。然后是Spring的配置文件,如...
它通过Action类和配置文件定义了业务逻辑与视图的映射关系,提供了强大的国际化支持和异常处理机制。Struts2还允许开发者使用FreeMarker或JSP作为视图层技术,使得表现层更加灵活。 Spring框架是核心的容器框架,它...
在这个“ssh留言程序代码”中,我们将会深入探讨如何利用这三个框架协同工作来实现一个功能完备的留言管理系统。 首先,Struts是Action-Servlet模式的一种实现,它负责处理HTTP请求并转发到相应的业务逻辑组件。在...
在源代码中,你可能会看到如下的结构:Struts2的动作类、Spring的服务类和DAO类、以及Hibernate的实体类。每个类都扮演着特定的角色,共同完成用户管理的功能。例如,Action类处理HTTP请求,调用Service类的方法;...
Spring可能会配置一个UserService接口和其实现类,用于处理业务逻辑。Hibernate的DAO层则负责查询数据库中的用户信息。 5. **运行与测试**:完成上述配置后,通过Tomcat或其它Web服务器运行项目。使用浏览器发送...
4. 服务实现(UserServiceImp):实现了服务接口,具体执行登录验证操作,可能包括从DAO获取用户信息并进行密码匹配。 5. 控制器(LoginController):Struts的Action类,接收登录请求,调用服务层方法,处理结果并...