服务小程序不工作

Servlet not working

我写了一个基本的 java servlet 代码,但它不起作用。 我正在使用 oracle12c 版本 2 和 apache tomcat 9.0。 下面没有显示任何错误,但在 html pae 中单击提交后,它会加载到一个空页面

我的 html 文件是

<html>
<body>
<form method="get" action="srv" align="center">
<table>
<tr><td>
UName</td><td> <input type="text" name="nm"></td></tr>
<tr><td>
Password</td><td><input type="password" name="pd"></td></tr>
<tr><td>
<input type="submit" value="send"></td></tr></table>
</form>
</body>
</html>

我的 servlet 文件是

import java.io.*;
 import javax.servlet.*;
import java.sql.*;
  public class select extends GenericServlet
{
Connection con;
PreparedStatement ps;
public void init() throws ServletException
{
    try

    {
    Class.forName("oracle.jdbc.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","C##
 1","Oracle_12");
    ps=con.prepareStatement("select * from emp where name=?");}
    catch(Exception e)
    {
        e.printStackTrace();
    }
}
public void service(ServletRequest req,ServletResponse res) throws 
  ServletException,IOException
  {
    try
    {
        String name=req.getParameter("nm");
        //String pwd=req.getParameter("pd");
        ps.setString(1,name);
        //ps.setString(2,pwd);
        ResultSet rs=ps.executeQuery();
        res.setContentType("text/html");
        PrintWriter pw=res.getWriter();
        if(rs.next())
        {
            String name1=rs.getString(1);
            String email1=rs.getString(2);
            String pws=rs.getString(3);
            pw.println("<html>"+
            "<body><h1 align=center>Hello</h1><br>"+
            "<table><tr><th>Name</th><th>Password</th><th>Email</th></tr>"+
            "<tr><td>"+name1+"</td><td>"+pws+"</td><td>"+email1+"</td></tr>
 </table></body></html>");
        }
        else
        {
            pw.println("<html><body><h1 align=center>Try again!</body>
   </html>");
        }
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
}
public void destroy()
{
    try

    {con.commit();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
}
}

我的XML文件是

  <web-app>
   <servlet>
  <servlet-name>s1</servlet-name>
  <servlet-class>select</servlet-class>
  </servlet>
  <servlet-mapping>
<servlet-name>s1</servlet-name>
<url-pattern>/srv</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
<welcome-file>home.html</welcome-file>
</welcome-file-list>
 </web-app>

编辑:这是通过在 servlets 库中添加 OJDBC.jar 文件解决的 folder.It 与程序中的错误无关。

您是否在类路径中添加了 oracle jdbc 驱动程序?如果您可以提供 tomcat 日志(或 Eclipse 控制台日志,如果您是来自 Eclipse IDE 的 运行),将会很有帮助。 它在我 运行 时有效,因此代码没有问题。检查您是否已将 OJDBC 驱动程序 jar 添加到您的类路径中..

在您当前工作的 servlet 项目的 lib 文件夹中添加 ojdbc8.jar 文件。