我正在使用eclipse IDE。 jsp代码执行但servlet返回空白页面

时间:2016-05-11 07:16:31

标签: java eclipse jsp tomcat servlets

我是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

1 个答案:

答案 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>");
    }
}