我写了一个基本的java servlet代码,它无效。 我使用oracle12c release 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 lib文件夹中添加OJDBC.jar文件来解决的。它与程序中的错误无关。
答案 0 :(得分:1)
您是否在类路径中添加了oracle jdbc驱动程序?如果您可以提供tomcat日志(如果从Eclipse IDE运行,则提供Eclipse控制台日志)将会很有帮助。 它在我运行时有效,因此代码没有问题。检查是否已将OJDBC驱动程序jar添加到类路径中。
答案 1 :(得分:0)
将ojdbc8.jar文件添加到当前工作的servlet项目的lib文件夹中。