`
history1918
  • 浏览: 10174 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring3.0+Struts2.2+Hibernate3.6+ExtJS3.2.0+DWR框架 整合四

阅读更多
一、实现WEB层
package com.hanz.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Component;

import com.hanz.domain.Department;
import com.hanz.domain.Popedom;
import com.hanz.domain.User;
import com.hanz.service.DepartmentService;
import com.hanz.service.PopedomService;
import com.hanz.service.UserService;
import com.hanz.util.UserGridPrint;
import com.opensymphony.xwork2.ActionContext;

@Component("user")
public class UserAction extends BaseAction {

private UserService userService;

@Resource(name = "userService")
public void setUserService(UserService userService) {
this.userService = userService;
}

private DepartmentService departmentService;

@Resource(name = "departmentService")
public void setDepartmentService(DepartmentService departmentService) {
this.departmentService = departmentService;
}

private PopedomService popedomService;

@Resource(name = "popedomService")
public void setPopedomService(PopedomService popedomService) {
this.popedomService = popedomService;
}

private PageBean pageBean;// 包含分布信息的bean
private int start;

public int getStart() {
return start;
}

public void setStart(int start) {
this.start = start;
}

public int getLimit() {
return limit;
}

public void setLimit(int limit) {
this.limit = limit;
}

private int limit;

public PageBean getPageBean() {
return pageBean;
}

public void setPageBean(PageBean pageBean) {
this.pageBean = pageBean;
}

public String login() throws Exception {
String status = request.getParameter("status");
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
PrintWriter out = response.getWriter();
try {// 非法身份导致异常

Integer.valueOf(status);
} catch (Exception e) {
out.write("{'success':false}");
out.flush();
out.close();
e.printStackTrace();
return null;
}
System.out.println("status:" + status + ";username:" + username
+ ";pwd:" + pwd);
// 组装用户对象并验证
User user = new User();
user.setPopedom((Popedom) popedomService.get(Popedom.class, Integer.valueOf(status)));
user.setUser_code(username);
user.setPwd(pwd);
User u = userService.login(user);
if (u != null) {
Map session = ActionContext.getContext().getSession();
session.put(WebConstant.USER,u);
out.write("{'success':true}");
} else {
out.write("{'success':false}");
}
out.flush();
out.close();
return null;
}

public String alter() throws Exception {
String userid = request.getParameter("userid");
Integer userid_id = Integer.parseInt(userid);
String status_m = request.getParameter("status_m");
Integer status_Id = Integer.parseInt(status_m);
String department_m = request.getParameter("department_m");
Integer department_Id = Integer.parseInt(department_m);
String user_code_ = request.getParameter("user_code_");
String pwd_ = request.getParameter("pwd_");
String name_ = request.getParameter("name_");

String sex_ = request.getParameter("sex_");
String email_ = request.getParameter("email_");

System.out.println("新建部门信息页面-->接收到参数:");
System.out.println("status_m:" + status_m + "|department_m:"
+ department_m + "|user_code_:" + user_code_);
User user = new User();
user.setId(userid_id);
user.setUser_code(user_code_);
user.setPwd(pwd_);
user.setName(name_);
user.setEmail(email_);
user.setSex(sex_);
user.setPopedom((Popedom) popedomService.get(Popedom.class, status_Id));
user.setDepartment((Department) departmentService.get(Department.class,
department_Id));

Boolean ok = userService.update(user);
try {
PrintWriter out = response.getWriter();
if (ok) {
out.write("{'success':true}");
} else {
out.write("{'success':false}");
}
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}

public String delete() throws Exception {
String departmentid = request.getParameter("userid");
Integer userid = Integer.parseInt(departmentid);

System.out.println("删除部门信息页面-->接收到参数:");
System.out.println("departmentid_:" + userid);
Boolean ok = userService.delete(User.class, userid);
try {
String msg = "failed";
if (ok) {
msg = "success";
}
PrintWriter out = response.getWriter();
out.write(msg);

out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}

public String add() throws Exception {
String status_m = request.getParameter("status_m");
Integer status_Id = Integer.parseInt(status_m);
String department_m = request.getParameter("department_m");
Integer department_Id = Integer.parseInt(department_m);
String user_code_ = request.getParameter("user_code_");
String pwd_ = request.getParameter("pwd_");
String name_ = request.getParameter("name_");

String sex_ = request.getParameter("sex_");
String email_ = request.getParameter("email_");

System.out.println("新建部门信息页面-->接收到参数:");
System.out.println("status_m:" + status_m + "|department_m:"
+ department_m + "|user_code_:" + user_code_);
User user = new User();
user.setUser_code(user_code_);
user.setPwd(pwd_);
user.setName(name_);
user.setEmail(email_);
user.setSex(sex_);
user.setPopedom((Popedom) popedomService.get(Popedom.class, status_Id));
user.setDepartment((Department) departmentService.get(Department.class,
department_Id));

Boolean ok = userService.save(user);
try {
PrintWriter out = response.getWriter();
if (ok) {
out.write("{'success':true}");
} else {
out.write("{'success':false}");
}
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}

public String search() throws Exception {

String hql = "from User u";
String name = request.getParameter("name");
String user_code = request.getParameter("user_code");
String department = request.getParameter("department");
if (name != null && !name.equals("") || user_code != null
&& !user_code.equals("") || department != null
&& !department.equals(""))
hql = hql + " where 1=1 ";
if (name != null && !name.equals(""))
hql = hql + " and u.name like '%" + name + "%'";

if (user_code != null && !user_code.equals(""))
hql = hql + " and u.user_code like '%" + user_code + "%'";

if (department != null && !department.equals(""))
hql = hql + " and u.department = " + department + "";
this.pageBean = userService.queryForPage(hql, start, limit);
String result = UserGridPrint.printUserList(pageBean.getList(),
pageBean.getTotalCount());
System.out.println("查询结果:" + result);
if (result != null && !result.equals("")) {
PrintWriter out;
try {
out = response.getWriter();
out.write(result);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}

public String searchComboBox() throws Exception {

this.pageBean = userService.queryForPage();
String result = UserGridPrint.printComboBoxUserList(pageBean.getList(),
pageBean.getTotalCount());
System.out.println("查询结果:" + result);
if (result != null && !result.equals("")) {
PrintWriter out;
try {
out = response.getWriter();
out.write(result);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}

public String input() throws Exception {

return "input";

}
}
二、struts.xml和struts.properties配置

<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定Struts2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<!-- Struts2配置文件的根元素 -->
<struts>
<!-- 配置了系列常量 -->

<package name="default" extends="struts-default">

<interceptors>
<interceptor name="configdebug"
class="com.configdebug.interceptor.ConfigDebugInterceptor" />

<!--定义一个名为authority的拦截器 -->
<interceptor class="com.hanz.Interceptor.AuthorityInterceptor"
name="authority" />
<!--定义一个包含权限检查的拦截器栈 -->
<interceptor-stack name="mydefault">
<!--配置内建默认拦截器 -->
<interceptor-ref name="defaultStack" />
<!--配置自定义的拦截器 -->
<interceptor-ref name="authority" />
<!-- 配置debug监控流程器 -->
<interceptor-ref name="configdebug" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="mydefault" />


<!-- 定义全局Result映射 -->
<global-results>
<!-- 定义sql、root两个异常对应的视图页 -->
<result name="business">/error.jsp</result>
<result name="root">/error.jsp</result>
<!-- 定义login逻辑视图对应的视图资源 -->
<result name="login">/index.jsp</result>
</global-results>

<!-- 定义全局异常映射 -->
<global-exception-mappings>
<!-- 当Action中遇到HrException异常时, 系统将转入name为business的结果中 -->
<exception-mapping exception="com.hanz.exception.ErpException"
result="business" />
<!-- 当Action中遇到Exception异常时, 系统将转入name为root的结果中 -->
<exception-mapping exception="java.lang.Exception"
result="root" />
</global-exception-mappings>

<!-- 用户管理 -->
<action name="user_*" class="com.hanz.action.UserAction"
method="{1}" />
method="{1}" />
<action name="*">
<result>/{1}.jsp</result>
</action>
</package>
</struts>


struts.properties文件配置
struts.custom.i18n.resources=resource
struts.i18n.encoding=UTF-8
struts.devMode=true
struts.objectFactory=spring
分享到:
评论

相关推荐

    真实项目:Hibernate3.3.2+Spring3.0+Struts2.2.3+ext3.4.0

    项目配置:Hibernate3.3.2+Spring3.0+Struts2.2.3 + ext3.4.0,真实项目实现,项目中可参考经典权限设计,通用数据录入,批量数据处理(poi),统一的JSON格式封装,灵活的组合模式设计,EXTJS面向组件编程参考......

    Spring3.0+Hibernate4.0+SpringMVC整合ExtJS4

    在本项目中,我们探讨的是如何将三个主流的Java企业级框架——Spring 3.0、Hibernate 4.0和Spring MVC与JavaScript前端框架ExtJS 4进行深度整合,以构建一个高效、灵活且功能丰富的Web应用。这个整合旨在提供一个...

    ExtJSweb 开发指南中的 简单图书管理系统 ExtJS3.0+spring+hibernate+struts

    在本项目中,我们探讨的是一个基于Web的简单图书管理系统,该系统采用了经典的Java企业级开发框架:ExtJS 3.0、Spring、Hibernate以及Struts。这些技术的结合为开发高效、可维护的Web应用提供了强大的支持。下面将...

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。这个是分卷,同时下载2.3.4部分

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第四部分)

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第二部分)

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。

    extjs3.0+struts2源码

    ExtJS 3.0 和 Struts2 是两个在Web开发领域广泛应用的开源框架。ExtJS 是一个用于构建富客户端(Rich Internet Applications,RIA)的JavaScript库,它提供了丰富的组件库和用户界面,使得开发者可以创建出具有桌面...

    extjs+spring+struts+hibernate

    在“extjs+spring+struts+hibernate”整合中,通常会利用Spring作为核心框架,管理整个应用的依赖和事务;Struts负责处理HTTP请求,并转发到相应的业务逻辑;Hibernate则负责对象与数据库之间的映射,实现数据的持久...

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第三部分)

    综上所述,这个“DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi”综合管理系统结合了这些技术的优势,构建了一个分层清晰、业务复杂的系统。DWR2和EXTJS2.2负责前端交互和用户界面,提供流畅的用户体验;Hibernate3.3...

    DWR+extjs+spring+hibernate

    总结起来,"DWR+extjs+spring+hibernate"的组合是现代Web应用开发的一个强大工具集,它能够帮助开发者快速构建出交互性强、性能优异的企业级应用。通过深入理解和熟练掌握这四个技术,可以显著提升开发者的技能水平...

    Hibernate+Spring+Struts2+ExtJS整合开发实例

    "Hibernate+Spring+Struts2+ExtJS整合开发实例"就是一个典型的Java Web应用程序开发案例,它将四个关键组件结合在一起,以实现高效、模块化的后端和前端功能。 **Hibernate** 是一个流行的Java对象关系映射(ORM)...

    jbpm4.0+ext3.0+spring+hibernate整合实例

    将jbpm4.0、EXT3.0、Spring和Hibernate整合在一起,可以构建出一个功能强大的业务流程管理系统。Spring作为整体架构的胶水,管理各组件的生命周期;Hibernate负责数据持久化,处理与数据库的交互;jbpm4.0则处理业务...

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid 数据导出excel,导入excel datasource自己修改你自己的数据源,数据库中的表可见实体类创建,或者自己修改实体类

    Struts2(json-plugin) + Spring2 + ExtJS2.2 开源网络硬盘系统

    【标题】"Struts2(json-plugin) + Spring2 + ExtJS2.2 开源网络硬盘系统"是一个基于Java技术栈的开源项目,它利用了Struts2框架的json-plugin插件,Spring2作为服务层管理和依赖注入框架,以及ExtJS2.2作为前端展示...

    struts2.0+spring2.2+ibatis+quartz+extjs3.0 短信调度平台

    采用了struts2.0,spring2.2,ibatis,quartz,extjs3.0 实现了关于短信的调度框架,对接收人维护,动态添加每日短信数据,编写短信模版,最后通过quartz定时发送,因为短信接口收费所以不提供,需要jar包自己下载,...

    ssh框架(spring+struts2+hibernate)

    SSH框架,全称为Spring、Struts2和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合提供了模型-视图-控制器(MVC)架构模式,数据库持久化,以及强大的前端展示能力,使得开发者能高效地构建...

    EXTJS3.0+Struts2的学习案例

    该项目是用EXTJS+Struts2,是实现EXTJS与后台数据交互的例子; 我从网上找的EXTJS的相关例子程序,自己在本地eclipse中创建成了完整项目,修改了代码BUG和浏览器兼容问题; 现在将完整的项目代码打包分享,对于想...

Global site tag (gtag.js) - Google Analytics