我如何从servlet检查数据库连接

时间:2017-02-26 12:34:59

标签: java html servlets jdbc

我正在尝试使用servlet编写一个程序来检查数据库连接。

如果数据库连接正常,它应该返回systemdate,否则它应该返回错误/异常。 请帮帮我..

这是我的程序,但它无法正常工作

的web.xml

<web-app>
<servlet>
<servlet-name>DBConnection</servlet-name>
<servlet-class>DBConnection</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>DBConnection</servlet-name>
<url-pattern>/connection</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

</web-app>

的index.html

<form action="servlet1" method="post">

DBURL:<input type="text" name="DBURL"/><br/><br/>

Username:<input type="text" name="Username"/><br/><br/>
Password:<input type="password" name="userpass"/><br/><br/>

<input type="submit" value="login"/>

<h3>Note:please give DBURL like:"jdbc:oracle:thin:@hostname:port:dbname"         </h3>

</form>

DBConnection.java

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 java.sql.*;

public class DBConnection extends HttpServlet
{
public void doPost(HttpServletRequest request, HttpServletResponse response)     throws ServletException, IOException
{
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    String DBURL=request.getParameter("DBURL");
    String user=request.getParameter("Username");
    String password=request.getParameter("userpass");

    try
    {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection con = DriverManager.getConnection(DBURL, user, password);

        PreparedStatement ps=con.prepareStatement("select sysdate from dual");
        ResultSet rs=ps.executeQuery();
        //status=rs.next();

        RequestDispatcher rd=request.getRequestDispatcher("rs");
        rd.forward(request,response);

        //out.print(rs);
    }
    catch(Exception e)
    {
        System.out.println(e);

        RequestDispatcher rd=request.getRequestDispatcher("e");
        rd.forward(request,response);
    }
    //return status;
    }
}

0 个答案:

没有答案