我是Java的新手。 我正在比较数据库值和用户输入的值。 JSP文件运行正常但是在单击提交按钮时,对servlet的POST请求返回空白页面。没有显示警告框。我还有一个servlet在另一个项目中编写,并且运行完全相同。我正在使用Eclipse 7,Tomcat 7和MySQL数据库。我不知道做错了什么。提前谢谢。
以下是servlet代码
<form method="POST" action="miniProj">
<h1>Valid User</h1>
<b>Enter details to sign the message</b><br>
Employee Id:<input type=text name=e1><br>
Employee Post:<input type=text name=p1><br>
Employee Priority:<input type=text name=pr1><br>
<input type=submit value="submit" />
<input type=button value="exit" />
</form>
我的JSP文件....这个jsp文件请求POST服务。点击提交按钮后,我可以看到brouser网址为http://localhost:8080/Demo2/response。
<web-app>
<servlet>
<servlet-name>compLogin</servlet-name>
<servlet-class>miniProj</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>compLogin</servlet-name>
<url-pattern>/miniProj</url-pattern>
</servlet-mapping>
</web-app>
部署描述符文件web.xml。这被放置在WebContent&gt; WEB_INF
name
答案 0 :(得分:0)
尝试使用servlet的完全限定类名替换servlet-class字段(也包括包名)。
我还建议将其名称更改为与response
不同的名称,以免与response object
<web-app>
<servlet>
<servlet-name>compLogin</servlet-name>
<servlet-class>yourPackageNameHere.response</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>compLogin</servlet-name>
<url-pattern>/response</url-pattern>
</servlet-mapping>
</web-app>
另外,尝试提取代码的部分&#34;吐出&#34;来自while循环的HTML(并且由于您是基于某种(唯一的?)标识符id
检索数据),我建议使用if
语句而不是while
循环。
int eid;
String post = "";
int pr;
if(rs.next()){
eid = rs.getInt("id");
post = rs.getString("position");
pr = rs.getInt("priority");
}
if(id==eid)
{
if((pos.equals(post))&&(pri==pr))
{
out.print("<html><head>");
out.print("<script type=\"text/javascript\">alert(" + "Details Authenticated" + ");</script>");
out.print("</head><body></body></html>");
}
}