一、首先从数据库说起
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这四大技术栈来构建一个图文管理系统。这个系统通常具备强大的数据持久化、依赖注入、MVC架构以及丰富的前端交互特性,从而实现高效且用户友好的功能。 ...
Struts2和ExtJS是两种在Web开发中广泛使用的开源框架。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它简化了开发过程,提供了强大的控制层支持。而ExtJS则是一个JavaScript库,用于构建...
在Struts2和ExtJS整合中,JSON起到桥梁作用,将服务器端的Action产生的数据转换为JSON格式,然后由ExtJS前端解析并显示在界面上。 整合Struts2、ExtJS和JSON的步骤通常包括以下几个部分: 1. **设置Struts2的JSON...
整合Struts2和ExtJS的主要目的是利用Struts2的强大后端处理能力,结合ExtJS的前端交互性和用户体验,打造高性能、易维护的Web应用。下面将详细介绍整合过程中的一些关键知识点: 1. **Struts2与ExtJS的通信方式**:...
Struts2和ExtJS3是两个非常流行的开源框架,它们在Web开发中有着广泛的应用。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,而ExtJS3则是一个用于构建富客户端JavaScript应用的库。本文将...
"Hibernate+Spring+Struts2+ExtJS整合开发实例"就是一个典型的Java Web应用程序开发案例,它将四个关键组件结合在一起,以实现高效、模块化的后端和前端功能。 **Hibernate** 是一个流行的Java对象关系映射(ORM)...
在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(创建、读取、更新、删除)功能的实现通常遵循以下步骤: 1. **实体类定义:** 使用Hibernate注解定义实体类,建立与数据库表的映射关系。 2. **DAO层实现:** ...
Struts2和ExtJS是两种在Web开发领域广泛使用的开源技术。Struts2是一个基于MVC(Model-View-Controller)架构模式的Java Web框架,它简化了开发过程,提供了强大的控制层支持。而ExtJS则是一个JavaScript库,用于...
在这个“struts2与extjs tree的完美结合”的示例中,开发者利用了Struts2的Annotation特性来简化配置,以及Struts2JSON插件来处理JSON数据,从而实现在服务器端动态生成和返回Tree节点。Annotation使得开发者能够在...
整合Struts2和Extjs的主要目的是利用Struts2的Action机制为Extjs提供服务器端数据,这样可以避免直接使用Servlet或其他HTTP接口来处理每个数据请求。在描述中提到,这种整合可以替代原本使用Extjs与Dwr(Direct Web ...
总之,Hibernate、Struts2和ExtJs4.0的结合,加上JSON数据交换,构成了一个强大且灵活的Web开发解决方案,不仅简化了开发流程,也提高了应用的用户体验。在实际项目中,这样的技术栈能够帮助我们快速构建出功能丰富...
ExtJs和Struts2是两种在Web开发中广泛使用的开源技术。ExtJs是一个JavaScript库,提供了丰富的用户界面组件,用于构建交互式、响应式的Web应用。而Struts2则是一个基于MVC(Model-View-Controller)架构的Java Web...
在实际开发中,为了部署和运行此系统,你需要配置Web服务器(如Tomcat)以支持Struts2,同时还需要设置ExtJS4的资源路径,确保前端和后端能正常通信。此外,数据库连接配置、安全策略(如CSRF防护)和性能优化也是...