Tomcat Servlet 和 MySQL

Posted

技术标签:

【中文标题】Tomcat Servlet 和 MySQL【英文标题】:Tomcat Servlet and MySQL 【发布时间】:2013-09-20 22:27:13 【问题描述】:

我在 Windows 8 上使用 XAMPP。我想做的是从 Servlet 访问 mysql 数据库。

我已将 MySQL 连接器 J jar 文件包含到 /xampp/tomcat/lib 目录中,下面是我要编译和运行的代码

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.mysql.jdbc.Driver;

public class Exercise7 extends HttpServlet 

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>Servlet - MySQL</title></head>");
    out.println("<body>");

    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    String url = "jdbc:mysql://localhost:3306/test";
    String user = "root";
    String password = "";

    try 
        con = DriverManager.getConnection(url, user, password);
        st = con.createStatement();
        rs = st.executeQuery("SELECT VERSION()");

        if (rs.next()) 
            out.println(rs.getString(1));
        

     catch (SQLException ex) 
        /*Logger lgr = Logger.getLogger(Version.class.getName());
        lgr.log(Level.SEVERE, ex.getMessage(), ex);*/
        out.println("Can't connect");

     finally 
        try 
            if (rs != null) 
                rs.close();
            
            if (st != null) 
                st.close();
            
            if (con != null) 
                con.close();
            

         catch (SQLException ex) 
            /*Logger lgr = Logger.getLogger(Version.class.getName());
            lgr.log(Level.WARNING, ex.getMessage(), ex);*/
            out.println("Can't connect");
        
    
    out.println("</body></html>");


当我访问该页面时,我看到“无法连接”,这显然意味着 servlet 和 mysql 之间的连接存在问题,所以任何人都可以帮助我解决这个问题。

【问题讨论】:

我知道我还需要执行一些步骤,但我没有得到它,所以请任何人都可以在这里提供非常详细的步骤您应该询问具体的步骤步骤您遇到问题,而不是要求几乎有关使用 Java 创建 Web 应用程序的教程。 IMO 开始学习如何使用 JSP 和 servlet 来创建基本的 Java Web 应用程序,然后在其上添加数据库连接功能,否则您会混淆很多概念,并且可能无法掌握它们背后的想法。 哥们,我问的是关于如何让 servlet 连接到 mysql 的详细步骤 我不是在要求 Web 应用程序,我想我在这里的问题一定是告诉你我知道什么是 servlet 和 jsp 以及如何创建、编译和运行它们 然后在 Java Web 应用程序中执行代码。如果您有任何具体问题,请提出来。 @LuiggiMendoza - 我已经编辑了我的问题,请检查它是否适合您的帮助条款 【参考方案1】:

我找到了解决办法:

将 MySQL 连接器 J jar 文件复制到“javaDirectory/jre/lib/ext”,上面的代码运行良好

但是还有其他可能的解决方案,可能比这个更好,但至少在实践中这很好,我认为是这样。

【讨论】:

以上是关于Tomcat Servlet 和 MySQL的主要内容,如果未能解决你的问题,请参考以下文章

springboot和servlet和tomcat

Tomcat和Servlet

Servlet容器:Jetty和tomcat的比较

Servlet容器:Jetty和tomcat的比较

Tomcat手工搭建Jsp和Servlet程序

tomcat的缺省servlet如何处理静态资源