锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
閿欒鍓嶄唬鐮侊細(xì)
if(admin.getSadminName()==null||admin.getSadminName().length() < 1) {
addFieldError("admin.sadminName", "鐢ㄦ埛鍚嶉敊璇?");
return INPUT;
}
if(admin.getSadminPass()==null||admin.getSadminPass().length() < 1) {
addFieldError("admin.sadminPass", "瀵嗙爜閿欒錛?);
return INPUT;
}
if(vn==null||vn.length()<1) {
addFieldError("vn", "楠岃瘉鐮佽緭鍏ラ敊璇紒");
return INPUT;
}
String ValidateNumber = sessionMap.get("ValidateNumber").toString();
logger.info("ValidateNumber="+ValidateNumber);
logger.info("vn="+vn);
if(ValidateNumber==null||ValidateNumber.length()<1) {
addFieldError("vn", "楠岃瘉鐮乥aocun杈撳叆閿欒錛?);
return INPUT;
}
if(ValidateNumber.equalsIgnoreCase(vn)==false) {
addFieldError("vn", "楠岃瘉鐮佽緭11鍏ラ敊璇紒");
return INPUT;
}
Tadmin cAdmin = adminService.validateAdmin(admin.getSadminName(),MD5.getString(admin.getSadminPass()));
if(cAdmin==null) {
addFieldError("admin.sadminName", "鐢ㄦ埛鍚嶆垨鑰呭瘑鐮侀敊璇?);
System.out.println("鐢ㄦ埛鍚嶅瘑鐮侀敊璇?);
return INPUT;
}
sessionMap.put(NewsUtil.ADMIN_USERKEY, cAdmin);
return SUCCESS;
濡傛灉鏄繖鏍風(fēng)殑銆俛ction鍙兘鎵ц涓嬈★紝濂藉儚action涓殑鍙傛暟涓鐩存病鏈夐噴鏀撅紝鎵浠ュ啀嬈℃彁浜わ紝action涓鐩村浜庤繍琛岀姸鎬侊紝鍐嶆鎻愪氦錛岀郴緇熶笉浼?xì)鏀瑰彉銆?br />
濡傛灉淇敼鎴?br />
//媯(gè)鏌ョ敤鎴峰悕鏄笉鏄瓨鍦?br />
if(NewsUtil.checkNull(admin.getSadminName())){
//addFieldError("admin.sadminName", "鎮(zhèn)ㄨ緭鍏ョ殑鐢ㄦ埛鍚嶆湁閿欒");
//actionMessage.
addActionMessage("鎮(zhèn)ㄨ緭鍏ョ殑鐢ㄦ埛鍚嶆湁閿欒");
System.out.println("鎮(zhèn)ㄨ緭鍏ョ殑鐢ㄦ埛鍚嶆湁閿欒");
return INPUT;
}
//媯(gè)鏌ュ瘑鐮佹槸涓嶆槸絀烘垨鑰卬ull
if(NewsUtil.checkNull(admin.getSadminPass())){
//addFieldError("admin.sadminPass", "鎮(zhèn)ㄨ緭鍏ョ殑瀵嗙爜涓嶆紜?);
System.out.println("鎮(zhèn)ㄨ緭鍏ョ殑瀵嗙爜涓嶆紜?);
return INPUT;
}
if(NewsUtil.checkNull(vn)){
//addFieldError("vn", "鎮(zhèn)ㄨ緭鍏ラ獙璇佺爜閿欒");
System.out.println("鎮(zhèn)ㄨ緭鍏ラ獙璇佺爜閿欒");
return INPUT;
}
String validateNumber = (String)SessionMap.get("ValidateNumber");
if(NewsUtil.checkNull(validateNumber)){
//addFieldError("vn", "浣犵殑楠岃瘉鐮佷笉姝g‘銆傝閲嶆柊杈撳叆");
System.out.println("浣犵殑楠岃瘉鐮佷笉姝g‘銆傝閲嶆柊杈撳叆");
return INPUT;
}
if(validateNumber.equalsIgnoreCase(vn)==false){
//addFieldError("vn", "鎮(zhèn)ㄨ緭鍏ョ殑楠岃瘉鐮佷笉姝g‘銆傝閲嶆柊杈撳叆");
System.out.println("鎮(zhèn)ㄨ緭鍏ョ殑楠岃瘉鐮佷笉姝g‘銆傝閲嶆柊杈撳叆");
return INPUT;
}
Tadmin cAdmin = adminService.validate(admin.getSadminName(), MD5.getString(admin.getSadminPass()));
if(cAdmin == null){
//addFieldError("admin.sadminName", "瀵逛笉璧鳳紝鎮(zhèn)ㄨ緭鍏ョ殑鐢ㄦ埛鍚嶆垨鑰呭瘑鐮佹湁闂");
System.out.println("瀵逛笉璧鳳紝鎮(zhèn)ㄨ緭鍏ョ殑鐢ㄦ埛鍚嶆垨鑰呭瘑鐮佹湁闂");
return INPUT;
}
//寮濮嬫洿鏂扮敤鎴風(fēng)櫥闄嗕俊鎭殑鏇存柊
cAdmin.setIloginTime(cAdmin.getIloginTime()+1);
//cAdmin.setSlastLoginIp(validateNumber)
cAdmin.setSlastLoginTime(new Date());
adminService.update(cAdmin);
SessionMap.put(ShopUtil.TADMIN_LOGINED_KEY, cAdmin);
return SUCCESS;
灝監(jiān)Kl浜?jiǎn)锛屾垜鍦ㄦ鐤戞槸涓嶆槸鎴戜嬌鐢ㄧ殑鐗堟湰涓湁榪欐牱鐨勪竴涓猙ug錛?
浠婂ぉ鏃╂櫒myeclipse鑷姩鍗囩駭浜?jiǎn)锛屽彂鐜皹q欎釜鍔熻兘宸茬粡淇浜?jiǎn)锛?浣嗘槸鍐嶆浣跨敤鐨勬椂闂達(dá)紝榪樻槸鑷姩鍏抽棴浜?jiǎn)锛岃壘锛佺湅鏉ョ増鏈瑯q樻槸瑕佺ǔ瀹氬悗鎵嶈兘浣跨敤鍟婏紝榪樹(shù)竴浣嶆儕澶╁湪鑷姩鍗囩駭宸茬粡鏇存柊浜?jiǎn)璇ュ姛鑳?br>鐪熸檿
web.xml <xwork> import com.opensymphony.xwork.ActionSupport; /**
<?xml version="1.0" encoding="GB18030"?>
<web-app version="2.4"
xmlns=" xmlns:xsi=" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
<filter>
<filter-name>webwork</filter-name>
<filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
xwork.xml
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
"
<include file="webwork-default.xml"></include>
<package name="default" extends="webwork-default">
<action name="helloWorld" class="cn.javaworker.yeming.action.HelloWorld">
<result name="success">index.jsp</result>
<result name="input">hello.jsp</result>
</action>
</package>
</xwork>
hello.jsp
<%@ taglib prefix="ww" uri="/webwork"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Enter you name</title>
</head>
<body>
<ww:form action="helloWorld">
<ww:textfield label="please enter user name" name="name"></ww:textfield>
<input type="submit"/>
</ww:form>
<form action="helloWorld.action">
please enter you name:<input type="text" name="name" value="<ww:property value="name"/>"/>
<input type="submit">
</form>
</body>
</html>
index.jsp
<%@ taglib prefix="ww" uri="/webwork"%>
<html>
<head>
<title>hello page</title>
</head>
<body>
The message generated by my first action is :<ww:property value="message"/>
</body>
</html>
HelloWorld.java
package cn.javaworker.yeming.action;
* @author $author
*/
@SuppressWarnings("serial")
public class HelloWorld extends ActionSupport{
private String message;
private String name;
/**
* @see com.opensymphony.xwork.Action#execute()
*/
public String execute() throws Exception
{
if(name==null||name.equals("")||name.equals("world")){
addFieldError("name","blank names or names of 'world' are not allowed!");
return INPUT;
}
message ="hello "+name+"!\n";
message+="this is the time is: "+System.currentTimeMillis();
return SUCCESS;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the message
*/
public String getMessage() {
return message;
}
}
JDK涓嬮潰鏈変竴涓潪甯擱噸瑕佺殑鐩綍錛屽嵆錛?$JAVA_HOME/jre/lib錛屽ぇ瀹剁敤寰楁渶鏅亶鐨勫氨鏄?JAVA_HOME/jre/lib/ext鐩綍錛堝彲浠ユ斁緗父鐢ㄧ殑JAR鎵╁睍鍖咃級(jí)浜?jiǎn)锛屾垜鍠湅脾灏唈tds-1.2.jar鏂囦歡鎷瘋礉鍒版鐩綍涓嬶紝褰撹繍琛屾墦鍖呭ソ鐨凧AR鏃訛紝涓嶉渶瑕佷負(fù)姣忎竴涓狫AR閰嶇疆鏁版嵁搴撻┍鍔ㄥ姞杞借礬寰勶紙褰撶劧錛屼綘涔熷彲浠ュ皢jtds-1.2.jar鍔犲叆鍒扮郴緇熺幆澧冨彉閲忎腑錛屽彧鏄綘寰桼eboot your computer鑰屽凡錛夈?br />
濂戒簡(jiǎn)錛屼笅闈㈣█褰掓浼狅紝濡傛灉浣犵敤myeclipse閰嶇疆浜?jiǎn)resin鏈嶅姟鍣紝浣犱細(xì)鍙戠幇myeclipse騫朵笉鑳藉惎鍔╮esin錛岃屽湪鎺у埗鍙頒笂鎵撳嵃鍑烘潵鐨勬槸resin.conf:241: Required file '\conf\app-default.xml' can not be read for resin:import.錛屽緢鏄庢樉錛屾槸緋葷粺鎵句笉鍒癮pp-default.xml'鏂囦歡錛岃岃繖涓枃浠剁‘瀹炲湪$RESIN_HOME/conf/鐩綍涓嬶紝鎵撳紑resin.conf錛屽畾浣嶅埌133琛岋紝鍙戠幇閰嶇疆鏂囦歡鏄繖鏍風(fēng)殑錛?lt;resin:import path="${resin.home}/conf/app-default.xml"/>錛屽洜涓?{resin.home}/灝辨槸Resin鐨勫綋鍓嶇洰褰曪紝鎵浠ユ垜浠彲浠ユ崲鎴?lt;resin:import path="./conf/app-default.xml"/>錛屽啀鍚姩錛孫K銆?br />
resin.conf閲岄潰榪樻湁涓涓湴鏂規(guī)瘮杈冩湁鎰忔濓紝涓旂湅211琛屼唬鐮侊細(xì)<web-app-deploy path="webapps"/>錛岀郴緇熼厤緗殑Web搴旂敤鐩綍涓?RESIN_HOME/webapps錛岃孍clipse宸ョ▼鍙戝竷鍚庢槸鍦?RESIN_HOME/deploy錛屾墍浠ユ垜浠共鑴嗗氨涓嶇敤myeclipse閲岀殑绔欑偣鍙戝竷鍔熻兘錛岀洿鎺ヤ慨鏀箁esin.conf鏂囦歡錛屽姞杞戒竴涓閮ㄧ洰褰曪紝灝嗗畠鎵嬫寚鍚戜綘鐨勫伐紼嬶紝鎵懼埌濡備笅浠g爜錛?40琛岋級(jí)<web-app id="/" root-directory="webapps/ROOT"/>錛屽湪鍚庨潰鍔犱笂<web-app id="/import" root-directory="D:/eclipse/work/Import/WebRoot"/>銆?br />
濂藉儚闂榪樹(shù)笉姝㈣繖涔堢畝鍗曪紝鍥犱負(fù)鎴戠殑D:/eclipse/work/Import/WebRoot宸ョ▼鏄敤Struts妗嗘灦寮鍙戠殑錛屾墍鏈夊湪resin鍚姩import鐨勬椂鍊欙紝鎶ヤ簡(jiǎn)濡備笅鐨勯敊璇細(xì)
javax.xml.parsers.SAXParserFactory: org.apache.xerces.jaxp.SAXParserFactoryImpl
XML瑙i噴鍣ㄧ殑閿欒錛岄『渚垮湪Google涓婁竴鎼滐紝鎵懼埌浜?jiǎn)涓壙U嶈В鍐沖姙娉曪紝鍙楁帹鑽愮殑鏂規(guī)濡備笅錛?br />鍦?$JAVA_HOME/jre/lib鐩綍涓嬫柊寤篹ndorsed鐩綍錛堝鏋滄病鏈夌殑璇濓級(jí)錛岀劧鍚庡皢浣犲伐紼媗ib鐩綍涓嬬殑xercesImpl.jar鎷瘋礉鍒板垰寤虹殑閭d釜鐩綍閲岄潰錛岄棶棰樺嵆鍙В鍐熾?br />
涓嶆帹鑽愬湪$JAVA_HOME/jre/lib涓嬮潰鏂板緩鍐呭涓簀avax.xml.parsers.SAXParserFactory: org.apache.xerces.jaxp.SAXParserFactoryImpl鐨刯axp.properties鏂囦歡錛屽綋鐒?dòng)灱屽鏋滀綘鍑嗗寮鸿杩欎箞骞茬殑璇濆Q屼綘鐨凾omcat灝卞彧鑳芥殫鏃犲ぉ鏃ヤ簡(jiǎn)銆?br />
涓嬮潰鏄檮鍔犲唴瀹?br />
闄勪竴錛欰pache涓嶳esin闆嗘垚
1. 鏇存敼Apache鐨勬枃妗g洰褰曪細(xì)鍦╤ttpd.conf涓壘鍒癉ocumentRoot錛屽皢鍏跺悗鍙屽紩鍙蜂腑鐨勫唴瀹規(guī)崲鎴?D:/HttpServer/webapps/"
2. 閰嶇疆Apache鐨凴esin妯″潡錛氬湪httpd.conf鏈鍚庢坊鍔犲涓嬩唬鐮?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) LoadModule caucho_module "D:/HttpServer/resin/win32/apache-2.2/mod_caucho.dll"
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <IfModule mod_caucho.c>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng) ResinConfigServer localhost 6800
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng) CauchoStatus yes
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) </IfModule>
3. 鏇存敼榛樿鐨勮闂枃浠訛細(xì)鍦╤ttpd.conf涓壘鍒癉irectoryIndex 錛屽湪鍏跺悗娣誨姞index.jsp index.php
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 娉ㄦ剰錛氭瘡涓枃浠朵箣闂寸敤絀烘牸闂撮殧寮
4. Resin铏氭嫙鐩綍閰嶇疆錛氬湪resin.conf涓壘鍒板涓嬭<host id="" root-directory=".">錛岀劧鍚庡姞鍏?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <web-app id="/import" root-directory="D:/HttpServer/webapps/import"/>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) id涓鴻闂礬寰勶紝root-directory涓烘枃妗g洰褰曟墍鍦ㄨ礬寰?br />5. 璁劇疆Resin涓鴻嚜鍚姩錛氫綘蹇呴』鍏堝湪緋葷粺鐜鍙橀噺涓厤緗甁AVA_HOME錛岀劧鍚庡湪鍛戒護(hù)琛岀獥鍙d腑榪涘叆Resin鐩綍錛岃緭鍏ttpd -install錛堝畨瑁匯esin涓篧indows緋葷粺鏈嶅姟錛夛紝httpd -remove錛堢Щ闄も︹︼級(jí)
緇忚繃浠ヤ笂姝ラ錛孯esin灝卞彲浠ョ洃鍚鐞嗘墍鏈堿pache涓嶈兘澶勭悊鐨勬枃浠訛紝鍖呮嫭.jsp, .do鍙?qiáng)鍏跺畠鎺у埗鍣ㄨ矾寰勫Q屽茍鍚屾椂瑙e喅浜?jiǎn)鐢?0绔彛璁塊棶鏃跺浘鐗囩浉瀵硅礬寰勪笉瀵圭殑闂
闄勪簩錛欰pache涓姞鍏HP澶勭悊妯″潡錛屽茍涓斿睆钄絉esin3.1鐨凱HP瑙i噴妯″潡
1. 灞忚斀resin鐨凱HP澶勭悊妯″潡錛歳esin浠?.0寮濮嬫敮鎸乸hp錛屽叾3.1鐗堟湰鐨凱HP瑙i噴閰嶇疆鏄湪app-default.xml涓紙涓巖esin.conf鍚屼竴涓洰褰曪級(jí)錛屽彧瑕佸servlet閰嶇疆姣旇緝鐔熸?zhèn)夌殑閮借兘鍦╝pp-default.xml涓交鏄撳睆钄絇HP瑙i噴鍔熻兘錛屾墦寮app-default.xml鍚庯紝鐢?lt;!--聽(tīng) -->灞忚斀濡備笅浠g爜鍗沖彲錛?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <servlet servlet-name="resin-php"
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) servlet-class="com.caucho.quercus.servlet.QuercusServlet">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) </servlet>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <servlet-mapping url-pattern="*.php" servlet-name="resin-php"/>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <welcome-file>index.php</welcome-file>
2. 閰嶇疆Apache鐨凱HP澶勭悊妯″潡錛氬湪httpd.conf鏈鍚庢坊鍔犲涓嬩唬鐮侊紙鎴戠殑PHP鏄鍦―:/HttpServer/php5錛?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ## Add php5 module
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) LoadModule php5_module "D:/HttpServer/php5/php5apache2_2.dll"
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) AddType application/x-httpd-php .php
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) # Configure php.ini path
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) PHPIniDir "D:/HttpServer/php5/"
鍛靛懙錛屽洜涓篟esin鐨凱HP閰嶇疆涓嶅お鐔熸?zhèn)夊Q岀綉涓婄殑璧勬枡涔熸瘮杈冨皯錛屾墍浠ヨ繕鏄敤浜?jiǎn)Apache+PHP鐨勫鐞嗘柟寮忋?br />
浠g爜錛?br />/**
聽(tīng)* 紼嬪簭寮鍙戞棩鏈燂細(xì)2006-6-28-16:09:14
聽(tīng)* javaworker.cn涓▼搴忓憳錛氬彾鏄庡紑鍙?br />聽(tīng)* 紼嬪簭浣滅敤錛氫粠榪炴帴姹犱腑鍙栧嚭涓鏉¤褰曪紝浣跨敤鍒涘緩鏁版嵁搴撹繛鎺ワ紝浠ュ強(qiáng)閲婃斁璇ヨ繛鎺?br />聽(tīng)* 紼嬪簭寮鍙戯細(xì)
聽(tīng)*/
package com.javawoker.yeming.jiemie.database;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
/**
聽(tīng)*@author 鍙舵槑 ---guming123416@gmail.com
聽(tīng)*@version $Id: v 1.01 2006/06/38 16:09:14 teodord Exp $
聽(tīng)*/
public class Pubconn {
聽(tīng)
聽(tīng)/*
聽(tīng) * 鍒涘緩縐佹湁鍙橀噺conn涓烘暟鎹簱榪炴帴瀵硅薄涓瑿onnection
聽(tīng) * 鍒涘緩縐佹湁鍙橀噺dsye涓烘暟鎹簱榪炴帴姹犵殑DataSource
聽(tīng) */
聽(tīng)
聽(tīng)private Connection conn;
聽(tīng)private DataSource dsye;
聽(tīng)private static Logger log=Logger.getLogger(Pubconn.class);
聽(tīng)/*
聽(tīng) * 鍒涘緩鏋勯犲嚱鏁癙ubconn錛屽湪寤虹珛class涓姞杞芥暟鎹簮鐨処nitialContext
聽(tīng) */
聽(tīng)public Pubconn()
聽(tīng){
聽(tīng)聽(tīng)try{
聽(tīng)聽(tīng)聽(tīng)Context initCtx=new InitialContext();
聽(tīng)聽(tīng)聽(tīng)if(initCtx==null)
聽(tīng)聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)throw new Exception("涓嶈兘鍔犺澆鏂囦歡Context");
聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)dsye=(javax.sql.DataSource)initCtx.lookup("jdbc/yeming");
聽(tīng)聽(tīng)}catch(Exception ex)
聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)ex.printStackTrace();
聽(tīng)聽(tīng)聽(tīng)log.error("鍦ㄥ姞鏍芥暟鎹簱榪炴帴姹犳椂闂村彂鐢熼敊璇?+ex.getMessage());
聽(tīng)聽(tīng)}
聽(tīng)}
聽(tīng)/*
聽(tīng) * 浠庤繛鎺ユ睜涓彇鍑轟竴鏉¤繛鎺ュ彉閲?br />聽(tīng) *
聽(tīng) */
聽(tīng)public Connection getConn()
聽(tīng){
聽(tīng)聽(tīng)try{
聽(tīng)聽(tīng)聽(tīng)conn=dsye.getConnection();
聽(tīng)聽(tīng)}catch(SQLException ex)
聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)ex.printStackTrace();
聽(tīng)聽(tīng)聽(tīng)log.error("鑾峰緱榪炴帴瀵硅薄CONN鏃墮棿鍙戠敓閿欒"+ex.getMessage());
聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)return conn;
聽(tīng)}
聽(tīng)/*
聽(tīng) * 鍏抽棴鏁版嵁搴撹繛鎺ワ紝閲婃斁璧勬簮
聽(tīng) */
聽(tīng)public void closeConn(Connection conn)
聽(tīng){
聽(tīng)聽(tīng)try{
聽(tīng)聽(tīng)聽(tīng)if(conn!=null)
聽(tīng)聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)conn.close();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)conn=null;
聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)}catch(SQLException ex)
聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)ex.printStackTrace();
聽(tīng)聽(tīng)聽(tīng)log.error("鍏抽棴CONN鏃墮棿鍙戠敓閿欒"+ex.getMessage());
聽(tīng)聽(tīng)}
聽(tīng)}
}
鐒跺悗寤虹珛璋冪敤欏甸潰
浠g爜濡備笅錛?br />
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GBK" contentType="text/html charset=gbk"%>
<jsp:useBean id="yeconn" scope="page" class="com.javawoker.yeming.jiemie.database.Pubconn"></jsp:useBean>
<%
Connection conn=yeconn.getConn();
Statement stmt=conn.createStatement();
String sql="select * from combasicinfo";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
聽(tīng) out.println(rs.getInt(1));
聽(tīng) out.println(rs.getString(2));
}
rs.close();
stmt.close();
yeconn.closeConn(conn);
%>