为了学习Struts,ejb,weblogic需要.我想开发一个这个系统.最主要为提升自己的实践水平,二者,对自己的消费有个理性规划.
作者:ssuupv
来到,新公司.一切环境都是新的了
我来新公司上班,两个星期了.我们公司跟以前所用的开发环境有所不同.目前公司用的开发环境为(webwork+spring+hibernate)这一块技术比较新.在国内,资料还不是很多.熟悉起来有的麻烦,不过,各种framework总的来说还是差不多.
池连接碰到的一个问题
我用weblogic + jbuilder + mssqlsever2000 采用池联接。我们的JDBC联系数不断在增加(根我判断,是因为我用完一个方法以后,这个连接还是标识为忙。)。但是我已经对它作了释放处理了,不过还是没有用啊。
我从中抽出一部份代码如下
package com.csbook.documentsystem;
import javax.naming.*;
import javax.sql.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.*;
public class Vistit {
Context ctx = null;
DataSource ds = null;
SysLog log = null;
ChangeEncoding ce = null;
//构造函数
public Vistit() {
//从连接池中获取数据库连接
try {
ctx = new InitialContext();
ds = (DataSource) ctx.lookup("MyDataSource");
}
catch (NamingException e) {
e.printStackTrace();
}
// 建立一个日志类的实例
log = new SysLog();
}
public void addInFactoryReg(String no, String name, String company,
String people, String reason, String certif) {
Connection con = null;
PreparedStatement ps = null;
String temptime = "";
String intime = "";
//temptime = TimeString.getNowTime("HH:mm:ss");
//intime =temptime.substring(8);
//System.out.println("company"+company);
try {
StringTokenizer st = null;
ArrayList temp = getTemp();
Object data[] = temp.toArray();
String card_number = "";
System.out.println("data.length" + data.length);
for (int i = 0; i < data.length; i++) {
st = new StringTokenizer((String) data[i]);
card_number = ce.changeCharset(st.nextToken());
int card_no = getNoCount("card", "card_no");
card_no++;
addInFactoryReg(card_no, no, card_number);
changeState(card_number);
}
//String sqlInsert = "insert into visit(visit_no,visit_mark,visit_name,visit_company,visit_reason,visit_certif,visit_intime) values (" +no+ "," +mark+ "," +name+ "," +company+ "," +reason+ "," +certif+ "," +intime+ ")";
// String sqlInsert = "insert into visit(visit_no,visit_mark,visit_name,visit_company,visit_peopleCount,visit_reason,visit_certif,visit_intime) values (?,?,?,?,?,?,?,'" +intime+ "')";
String sqlInsert = "insert into visit(visit_no,visit_name,visit_company,visit_peopleCount,visit_reason,visit_certif) values (?,?,?,?,?,?)";
con = ds.getConnection();
ps = con.prepareStatement(sqlInsert);
ps.setString(1, no);
ps.setString(2, name);
ps.setString(3, ce.changeCharset(company));
ps.setString(4, people);
ps.setString(5, ce.changeCharset(reason));
ps.setString(6, certif);
//System.out.println("sqlInsert" + sqlInsert);
//System.out.println("no" + "visit_no");
ps.executeUpdate();
delData();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
Close.connnectionClose(con);
Close.prepareStatementClose(ps);
}
}
package com.csbook.documentsystem;
import javax.sql.*;
import java.sql.*;
public class Close {
public void close(){
}
public static void connnectionClose(Connection con){
if (con != null)
try {
con.close();
}
catch (SQLException ignore) {}
}
public static void prepareStatementClose(PreparedStatement ps){
if(ps != null)
try{
ps.close();
}
catch(SQLException e) {}
}
public static void resultSetClose(ResultSet rs){
if(rs != null){
try{
rs.close();
}
catch(SQLException e){}
}
}
怎样打开类自动加载?
为这个问题,我找了好多资料,也没找到.在论谈发了就是也没人回复.现在,我每天多做了很多无用功,当我每次修改了一个JSP,或者是JAVABEAN,都要重新delpoy,每天不下一百次啊,还有我的weblogic也跟我过不去,多delpoy几次它就挂了,不得不重启.真是烦.
今天碰到一个麻烦的问题.
不知,怎么搞的,编译,布置,一点问题都没有,就是在运行涉及到数据库连接就不行,真是痛苦,今天试了一天了.
一起学习Struts(MVC)
前些日子在看EJB.觉得有的复杂.后来听高手建议先学MVC(struts).再学EJB这样才会有效果.不然只会打击我的信心.
所以.我得花些日子来好好理解struts.
/*learndiary.com对这个目标的补充说明:
*这个目标是网友ssuupv立的,学习日记开发小组借用他的目标作为小组成员的学习目标。
*他是因为学ejb而学的struts,学习日记开发小组把它作为学习目标之一是因为是以struts为框架构建程序,
*但目的都是一个:学习struts。开发小组也不是一定只用ejb,当然视以后的情况而定,也不会排除使用ejb。
*估计是多个版本都将进行(不一定是同时),喜欢ejb的用ejb,喜欢javabean的用javabean,喜欢Hibernate的用Hibernate。
*/
再次TEST日记功能
TEST
看本站.源代码有感.
test
我的目标.
我现在正在学mvc结构.学完这个以后,我再准备学EJB.及相关应用服务器有熟悉.在几个以后准备找个基于java开发软件公司工作.这就是目前的目标.再过一二年以后.我会向更高的目标挑战的.