使用servlet和Java Bean访问MySQL

类别:Java 点击:0 评论:0 推荐:

运行环境: JDK 5.0 + Tomcat 5.5.4

JDK安装路径: D:\Java\jdk1.5.0_01
Tomcat安装路径:D:\Tomcat 5.5

设置环境变量(控制面板->系统->高级):
java_home=D:\Java\jdk1.5.0_01
path=%JAVA_HOME%\bin
classpath=.;D:\Java\jdk1.5.0_01\lib\dt.jar;D:\Java\jdk1.5.0_01\lib\tools.jar;D:\Tomcat 5.5\common\lib\servlet-api.jar;D:\Tomcat 5.5\common\lib\mysql-connector-java-3.1.6-bin.jar;


其中D:\Tomcat 5.5\common\lib\servlet-api.jar为Tomcat的servlet API实现,一定要加上,不如无法编译servlet
D:\Tomcat 5.5\common\lib\mysql-connector-java-3.1.6-bin.jar;是MySQL的JDBC驱动,connect/J 3.1.6,可到MySQL官方网站下载

Tomcat5.5虚拟目录设定:
D:\Tomcat 5.5\conf\Catalina\localhost下新加一test.xml
内容如下:
<Context path="/test" docBase="d:/www" reloadable="true" crossContext="true" debug="0" >
</Context>

d:\www路径将是我们测试网站的根目录,通过http://localhost:8080/test访问该虚拟目录
d:\www下建有目录WEB-INF,下有web.xml设置文件(可参考D:\Tomcat 5.5\webapps\ROOT\WEB-INF\web.xml),classes目录和lib目录

//连接数据库的Java Bean文件名dbconn.java
package NinGoo;
import java.sql.*;
public class dbconn {
 public dbconn() {
   }
 //declare variable
 private Connection conn = null;
 ResultSet rs = null;
 private String server = "127.0.0.1";
 private String port = "3306";
 private String db = "test";
 private String user = "root";
 private String pass = "password";
 private String drivername="com.mysql.jdbc.Driver";
 private String URL="jdbc:mysql://"+server+":"+port+"/"+db+"?user="+user+"&password="+pass;

 public Connection getConn(){//get database connection
  try{
   Class.forName(drivername).newInstance();
   conn = DriverManager.getConnection(URL);
  }
  catch(Exception e){
   e.printStackTrace();
  }
   return this.conn ;
 }

 public ResultSet executeSQL(String str) {
  try{
   Statement stmt = conn.createStatement();
   rs = stmt.executeQuery(str);
  }
  catch(Exception e){
   e.printStackTrace();
  }
   return this.rs;
 }
}

编译javac welcome.java,将编译后的文件welcome.class放到目录D:\www\WEB-INF\classes\NinGoo\下

//调用Java Bean的servlet welcome.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;


public class welcome extends HttpServlet {
 public welcome() {
 }

 public void doGet(HttpServletRequest Req,HttpServletResponse Res) throws ServletException,IOException {
  Res.setContentType("text/html");

  Connection conn=null;  
  Statement stmt=null;
  ResultSet rs = null;

  try{
   NinGoo.database.dbconn myconn =new  NinGoo.database.dbconn();
   conn = myconn.getConn() ;
   rs = myconn.executeSQL("select * from test"); //test是MySQL中的一个table
   PrintWriter out=Res.getWriter();
   out.println("<html><head><title>test</title></head>");
   out.println("<body>");
   while(rs.next()) {
    out.println(rs.getString(1));
   }
   out.println("successfule!</body></html>");
  }
  catch(Exception e){
  }
 }
}
编译javac welcome.java,将编译后的文件welcome.class放到目录D:\www\WEB-INF\classes下
然后修改D:\www\WEB-INF\web.xml,加入如下设置
   <servlet>
        <servlet-name>welcome</servlet-name>
        <servlet-class>welcome</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>welcome</servlet-name>
        <url-pattern>/welcome</url-pattern>
    </servlet-mapping>

保存后重启Tomcat,然后在浏览器中敲入http://localhost:8080/test/welcome

本文地址:http://com.8s8s.com/it/it11596.htm