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

利用Struts2和ExtJs开发系统

阅读更多

一、首先从数据库说起

     1、证明有记录存在时

           选用Oracle时,可以用rownum>1,而不需要查询出所有数据。

           选用MySQL时,由于没有rownum可以用,所以 select ...  where .. limit 1   代替。

     2、mysql字符集问题

           创建数据库时要指定utf-8编码,这样不用去修改my.ini文件。

             CREATE DATABASE leshr DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

           这样一来在cmd命令行模式下查询显示乱码

              这样解决:set names gbk;

     3、mysql 主键问题

              用uuid()函数生成

二、c3p0连接池的使用

    

public class DbPoolUtil {
	private static DbPoolUtil instance;
	private static ComboPooledDataSource ds;
	private DbPoolUtil() {
		try {
			ds = new ComboPooledDataSource();
			ds.setUser("root");
			ds.setPassword("sa");
			ds.setJdbcUrl("jdbc:mysql://localhost:3306/leshr");
			ds.setDriverClass("com.mysql.jdbc.Driver");
			ds.setInitialPoolSize(2);
			ds.setMinPoolSize(1);
			ds.setMaxPoolSize(10);
			ds.setMaxStatements(50);
			ds.setMaxStatementsPerConnection(50);			ds.setMaxIdleTime(60);
		} catch (PropertyVetoException e) {
			System.out.println("加载数据库失败!");
			e.printStackTrace();
		}
	}
	public static final DbPoolUtil getInstance() {
		if (instance == null) {
			instance = new DbPoolUtil();
		}
		return instance;
	}
	public synchronized final Connection getConnection() {
		Connection conn = null;
		try {
			conn = ds.getConnection();
		} catch (SQLException e) {
			System.out.println("获取数据库连接失败!");
			e.printStackTrace();
		}
		return conn;
	}

}

 三、Struts2-Json-Plugin的使用

      1、首先看下action是如何写的

    POJO类:

public class Hr_appl {
	private String LA_ID;
	private String LA_PID;
	private int LA_ORDER;
	private String LA_NAME;
	private String LA_URL;
	private String LA_OPTION;
	private String LA_PARAM;
	private String LA_DESC;

                .....省略getter setter
}

 

 Dao类:

	public List<Hr_appl> getAll(Connection conn) throws Exception {
		List<Hr_appl> list = new ArrayList<Hr_appl>();
		String sql = "select * from HR_APPL";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		ResultSet rs = pstmt.executeQuery();
		while (rs.next()) {
			Hr_appl appl = new Hr_appl();
			appl.setLA_DESC(rs.getString("LA_DESC"));
			appl.setLA_ID(rs.getString("LA_ID"));
			appl.setLA_NAME(rs.getString("LA_NAME"));
			appl.setLA_OPTION(rs.getString("LA_OPTION"));
			appl.setLA_ORDER(rs.getInt("LA_ORDER"));
			appl.setLA_PARAM(rs.getString("LA_PARAM"));
			appl.setLA_PID(rs.getString("LA_PID"));
			appl.setLA_URL(rs.getString("LA_URL"));
			list.add(appl);
		}
		rs.close();
		return list;
	}

 

action类:

public class AppListAction extends ActionSupport {
	private List appls;
	private int totalCount;
	public int getTotalCount() {
		return appls.size();
	}
	public List getAppls() {
		return appls;
	}
	public void setAppls(List appls) {
		this.appls = appls;
	}
	@Override
	public String execute() {
		Hr_applDao dao = new Hr_applDaoImpl();
		Connection conn = DbPoolUtil.getInstance().getConnection();
		try {
			appls = dao.getAll(conn);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return SUCCESS;
	}

}

 

   2、再配置struts.xml

	<constant name="struts.devMode" value="true" />
	<constant name="struts.i18n.encoding" value="UTF-8" />
	<package name="extjs" extends="json-default">
		<action name="appList" class="com.njit.action.AppListAction">
			<result type="json"></result>
		</action>
	</package>

   3、看ExtJs前台如何使用

var store = new Ext.data.JsonStore({
	url : "appList.action",   		//strus2请求
           root : "appls",            		//和action类中的变量对应
	totalProperty : "totalCount",  		//和action类中的变量对应
	autoLoad : true,
	fields : ["LA_NAME", "LA_ID", "LA_ORDER", "LA_OPTION","LA_URL", "LA_DESC"]
});

 

分享到:
评论

相关推荐

    Hibernate+Spring+Struts2+extjs开发的图文管理系统,完美运行

    一个典型的案例是使用Hibernate、Spring、Struts2和ExtJS这四大技术栈来构建一个图文管理系统。这个系统通常具备强大的数据持久化、依赖注入、MVC架构以及丰富的前端交互特性,从而实现高效且用户友好的功能。 ...

    Struts2与extjs整合例子

    Struts2和ExtJS是两种在Web开发中广泛使用的开源框架。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它简化了开发过程,提供了强大的控制层支持。而ExtJS则是一个JavaScript库,用于构建...

    struts2+extjs+json整合实例

    在Struts2和ExtJS整合中,JSON起到桥梁作用,将服务器端的Action产生的数据转换为JSON格式,然后由ExtJS前端解析并显示在界面上。 整合Struts2、ExtJS和JSON的步骤通常包括以下几个部分: 1. **设置Struts2的JSON...

    struts2和ExtJs整合实例

    整合Struts2和ExtJS的主要目的是利用Struts2的强大后端处理能力,结合ExtJS的前端交互性和用户体验,打造高性能、易维护的Web应用。下面将详细介绍整合过程中的一些关键知识点: 1. **Struts2与ExtJS的通信方式**:...

    struts2+extjs3 单/多文件上传

    Struts2和ExtJS3是两个非常流行的开源框架,它们在Web开发中有着广泛的应用。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,而ExtJS3则是一个用于构建富客户端JavaScript应用的库。本文将...

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

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

    Hibernate+Spring+Struts2+ExtJS开发CRUD功能实例

    在IT行业中,构建Web应用程序是常见的任务,而“Hibernate+Spring+Struts2+ExtJS开发CRUD功能实例”提供了一个完整的解决方案,用于快速开发基于Java的Web应用,特别是涉及数据库操作的CRUD(创建、读取、更新、删除...

    Hibernate+Spring+Struts2+ExtJS开发CRUD功能

    知识点详述: ### Hibernate+Spring+Struts2+ExtJS集成开发CRUD功能 ...通过上述步骤,利用`Hibernate+Spring+Struts2+ExtJS`组合,可以构建出功能完整、性能稳定的CRUD应用,满足企业级应用的需求。

    Hibernate+Spring+Struts2+ExtJS开发CRUD功能.doc

    在整合Hibernate、Spring、Struts2和ExtJS时,CRUD(创建、读取、更新、删除)功能的实现通常遵循以下步骤: 1. **实体类定义:** 使用Hibernate注解定义实体类,建立与数据库表的映射关系。 2. **DAO层实现:** ...

    struts2+extjs整合包

    Struts2和ExtJS是两种在Web开发领域广泛使用的开源技术。Struts2是一个基于MVC(Model-View-Controller)架构模式的Java Web框架,它简化了开发过程,提供了强大的控制层支持。而ExtJS则是一个JavaScript库,用于...

    struts2与extjs tree的完美结合

    在这个“struts2与extjs tree的完美结合”的示例中,开发者利用了Struts2的Annotation特性来简化配置,以及Struts2JSON插件来处理JSON数据,从而实现在服务器端动态生成和返回Tree节点。Annotation使得开发者能够在...

    整合--Struts2为extjs提供server数据

    整合Struts2和Extjs的主要目的是利用Struts2的Action机制为Extjs提供服务器端数据,这样可以避免直接使用Servlet或其他HTTP接口来处理每个数据请求。在描述中提到,这种整合可以替代原本使用Extjs与Dwr(Direct Web ...

    Hibernate+Struts2+ExtJs4.0

    总之,Hibernate、Struts2和ExtJs4.0的结合,加上JSON数据交换,构成了一个强大且灵活的Web开发解决方案,不仅简化了开发流程,也提高了应用的用户体验。在实际项目中,这样的技术栈能够帮助我们快速构建出功能丰富...

    能运行的ExtJs+Struts2文件上传

    ExtJs和Struts2是两种在Web开发中广泛使用的开源技术。ExtJs是一个JavaScript库,提供了丰富的用户界面组件,用于构建交互式、响应式的Web应用。而Struts2则是一个基于MVC(Model-View-Controller)架构的Java Web...

    Extjs4+MVC+struts2后台管理系统

    在实际开发中,为了部署和运行此系统,你需要配置Web服务器(如Tomcat)以支持Struts2,同时还需要设置ExtJS4的资源路径,确保前端和后端能正常通信。此外,数据库连接配置、安全策略(如CSRF防护)和性能优化也是...

Global site tag (gtag.js) - Google Analytics