Tomcat6.x+struts1.x+MySQL5.x 접속 풀 문제
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" crossContext="true">
<Resource
name="jdbc/test" ---------- :test
auth="Container"----------
type="javax.sql.DataSource"----------
driverClassName="com.mysql.jdbc.Driver"----------
url="jdbc:mysql://localhost:3306/haotian?autoReconnect=true"-------url
username="root"-----
password="root"------
maxActive="10" ------
maxIdle="5" --------
maxWait="-1"/> ------ ,-1
</Context>
2. 연결 클래스:
public class DBConnection {
private Connection conn=null;
public Connection getConnection(){
// , .
Context context;
try {
context = new InitialContext();
//
DataSource ds=(DataSource)context.lookup("java:comp/env/jdbc/test");//jdbc/test name
//
try {
conn=ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
3. MySQL5.0의 드라이버 패키지는 Tomcat의lib 디렉토리에 있습니다. 참고: 항목의lib 대신 Tomcat의lib입니다.(왜 그런지 모르겠지만, 이전에 이런 연결 탱크를 사용하지 않았을 때 프로젝트의lib에 놓으면 연결이 성공할 수 있었지만, 지금은 안 된다. 개인적으로는 context.xml로 인해 Tomcat가 프로젝트의lib에 있는 드라이버를 찾지 않고 자신의lib에 있는 드라이버를 찾을 수 있다고 생각한다)
4. 테스트:
연결 클래스에main()을 쓰면 테스트에 성공할 수 있는 것이 아닙니다. 그러면 다음 오류가 발생합니다.
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at util.DBConnection.getConnection(DBConnection.java:26)
at util.DBConnection.main(DBConnection.java:49)
따라서 프론트 데스크와 결합해야만 연결이 성공했는지 확인할 수 있다.
요약:
context.xml은 프로젝트의 WebRoot/META-INF에 있어야 하며, Tomcat은 자동으로 이 파일을 찾습니다.
데이터베이스 드라이버는 Tomcat의lib 디렉터리에 두어야 합니다. (아마도 Tomcat는context.xml에 따라 자신의lib 디렉터리에서 드라이버를 찾을 것입니다.)
연결 클래스에main() 테스트를 직접 쓸 수 없으며 프론트 데스크톱과 결합해야 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 중첩된 객체를 정확히 일치 검색 - PostgreSQL목차 * 🚀 * 🎯 * 🏁 * 🙏 JSON 객체 예시 따라서 우리의 현재 목표는 "고용주"사용자가 입력한 검색어(이 경우에는 '요리')를 얻고 이 용어와 정확히 일치하는 모든 사용자 프로필을 찾는 것입니다. 즐거운 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.