Java 使用JSP将Mysql与IntelliJ ultimate 2016.2.3连接

Java 使用JSP将Mysql与IntelliJ ultimate 2016.2.3连接,java,mysql,jsp,jdbc,intellij-idea,Java,Mysql,Jsp,Jdbc,Intellij Idea,我是JSP新手,IntelliJ IDE在尝试登录应用程序时遇到错误java.lang.ClassNotFoundException:com.mysql.jdbc.Driver。我在开发JSP项目时使用IntelliJ作为IDE如何将Mysql连接到JSP项目? 下面是LoginDao.java类 package com.huza.schooldynamic; /** * Created by HUZY_KAMZ on 9/8/2016. */ import java.sql.Connec

我是JSP新手,IntelliJ IDE在尝试登录应用程序时遇到错误
java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
。我在开发JSP项目时使用IntelliJ作为IDE如何将Mysql连接到JSP项目?

下面是LoginDao.java

package com.huza.schooldynamic;

/**
 * Created by HUZY_KAMZ on 9/8/2016.
 */
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class LoginDao {
    public static boolean validate(String name, String pass) {
        boolean status = false;
        Connection conn = null;
        PreparedStatement pst = null;
        ResultSet rs = null;

        String url = "jdbc:mysql://localhost:3306";
        String dbName = "form";
        String driver = "com.mysql.jdbc.Driver";
        String userName = "root";
        String password = "namungoona";
        try {
            Class.forName(driver).newInstance();
            conn = DriverManager
                    .getConnection(url + dbName, userName, password);

            pst = conn

                .prepareStatement("select * from login where user=? and password=?");
        pst.setString(1, name);
        pst.setString(2, pass);

        rs = pst.executeQuery();
        status = rs.next();

    } catch (Exception e) {
        System.out.println(e);
    } finally {
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (pst != null) {
            try {
                pst.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    return status;
}
}

这是我的servlet类LoginServlet.java

package com.huza.schooldynamic;

/**
 * Created by HUZY_KAMZ on 9/8/2016.
 */
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class LoginServlet extends HttpServlet{

    private static final long serialVersionUID = 1L;

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

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        String n=request.getParameter("username");
        String p=request.getParameter("userpass");

        HttpSession session = request.getSession(false);
        if(session!=null)
            session.setAttribute("name", n);

        if(LoginDao.validate(n, p)){
            RequestDispatcher rd=request.getRequestDispatcher("welcome.jsp");
            rd.forward(request,response);
        }
        else{
            out.print("<p style=\"color:red\">Sorry username or password error</p>");
            RequestDispatcher rd=request.getRequestDispatcher("index.jsp");
            rd.include(request,response);
        }

        out.close();
    }
}
package com.huza.schooldynamic;
/**
*由HUZY_KAMZ于2016年9月8日创建。
*/
导入java.io.IOException;
导入java.io.PrintWriter;
导入javax.servlet.RequestDispatcher;
导入javax.servlet.ServletException;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入javax.servlet.http.HttpSession;
公共类LoginServlet扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
public void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
字符串n=request.getParameter(“用户名”);
字符串p=request.getParameter(“userpass”);
HttpSession session=request.getSession(false);
if(会话!=null)
session.setAttribute(“名称”,n);
if(登录验证(n,p)){
RequestDispatcher rd=request.getRequestDispatcher(“welcome.jsp”);
转发(请求、响应);
}
否则{
打印(“

”>对不起,用户名或密码错误

”; RequestDispatcher rd=request.getRequestDispatcher(“index.jsp”); 包括(请求、响应); } out.close(); } }
这是我的index.jsp文件

<%--
  Created by IntelliJ IDEA.
  User: HUZY_KAMZ
  Date: 9/8/2016
  Time: 5:31 PM
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>School Management System</title>
  </head>
  <body>

  <br>
  <br>
  <br>
  <center>
  <form action="loginServlet" method="post">
    <fieldset style="width: 300px">
      <legend> Login here </legend>
      <table>
        <tr>
          <td>User ID</td>
          <td><input type="text" name="username" required="required" /></td>
        </tr>
        <tr>
          <td>Password</td>
          <td><input type="password" name="userpass" required="required" /></td>
        </tr>
        <tr>
          <td><input type="submit" value="Login" /></td>
        </tr>
      </table>
    </fieldset>
  </form>

  </center>


  </body>
</html>

学校管理制度



在这里登录 用户ID 密码
这是我的欢迎.jsp文件

<%--
  Created by IntelliJ IDEA.
  User: HUZY_KAMZ
  Date: 9/8/2016
  Time: 6:00 PM
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Welcome <%=session.getAttribute("name")%></title>
</head>
<body>
<h3>Login successful!!!</h3>
<h4>
    Hello,
    <%=session.getAttribute("name")%></h4>
</body>
</html>

欢迎
登录成功!!!
你好
最后是我的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <servlet>
        <servlet-name>login</servlet-name>
        <servlet-class>com.huza.schooldynamic.LoginServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/loginServlet</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

登录
com.huza.schooldynamic.LoginServlet
登录
/罗金瑟夫莱特酒店
index.jsp
因此,目前我尝试在IntelliJ IDE中查看Mysql,但似乎我不知道如何将其连接到项目,当我运行应用程序并尝试登录时,此错误出现在IDE
java.lang.ClassNotFoundException:com.Mysql.jdbc.Driver

下面是IDE的图片


类NotFoundException告诉您在类路径上找不到类
com.mysql.jdbc.Driver
。换句话说,您在项目中定义的库JAR中没有一个包含该类

该特定类是
java.sql.Driver
接口的特定于MySQL的实现。(如果你不理解接口是什么,你可以从它开始。但是你会想对它有更多的了解,因为接口是OOP的核心概念)

您的DAO类要求在
stringdriver=“com.mysql.jdbc.driver”行中使用这个特殊的diver。但是,当代码运行时,它找不到具有该名称的类。因此,您需要将该类添加到类路径中。通过访问Maven Central,您可以搜索该类(或任何其他类),以确定该类包含哪些库。在本例中,它位于
mysql连接器java
JAR中;其最新版本为v6.0.4

因此,您需要将
mysql连接器java
JAR添加到您的类路径中,即将其作为库添加到您的java项目中。如何做到这一点取决于您如何设置项目

如果您使用的是Maven,则可以添加所需的依赖项:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.4</version>
</dependency>
如果您将Ant与常春藤一起使用,请添加

<dependency org="mysql" name="mysql-connector-java" rev="6.0.4" />

我从maven central的JAR文件中复制的所有声明


如果您没有使用上述构建工具之一,则需要以另一种方式将JAR添加到项目中。例如,如果您只是在IDEA中使用项目配置,请转到项目结构(Ctrl+Shift+Shift+S/⌘;) 并将其添加到模块中的一个新库。有关更多信息,请参阅IntelliJ IDEA帮助页面及其引用的页面。

ClassNotFoundException
告诉您在类路径上找不到类
com.mysql.jdbc.Driver
。换句话说,您在项目中定义的库JAR中没有一个包含那个班

这个特定的类是
java.sql.Driver
接口的一个特定于MySQL的实现(如果您不了解接口是什么,可以从它开始。但是您需要更多地了解它,因为接口是OOP的核心概念)

您的DAO类要求在
String driver=“com.mysql.jdbc.driver”
行中使用这个特殊的diver。但是,当代码运行时,它找不到具有该名称的类。因此您需要将该类添加到您的类路径。通过转到Maven Central,您可以搜索该类(或任何其他类)类来确定哪些库有它。在这个特定的例子中,它位于
mysql连接器java
JAR中;最新版本是v6.0.4

因此,您需要将
mysql连接器java
JAR添加到您的类路径中,也就是说,将其作为库添加到您的java项目中

如果您使用的是Maven,则可以添加所需的依赖项:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.4</version>
</dependency>
如果您将Ant与常春藤一起使用,请添加

<dependency org="mysql" name="mysql-connector-java" rev="6.0.4" />

我从maven central的JAR文件中复制的所有声明

如果你是