【问题标题】:Can't execute servlet from JSP but can access from direct URL (mvc mysql tomcat)无法从 JSP 执行 servlet,但可以从直接 URL 访问(mvc mysql tomcat)
【发布时间】:2014-10-16 10:22:51
【问题描述】:

我正在使用 mvc(JSP 页面 + servlet,在 Eclipse + Mysql 数据库中的 Apache Tomcat 服务器上运行)开发一个简单的登录应用程序。

当我从直接 URL 访问我的 servlet 时:

http://localhost:8181/stage/LoginControlerdo

servlet 的指令会被执行,但是当从 JSP 表单调用 servlet 时不会执行,而是显示一个空白页面。

(Servlet 的指令只是在实现页面后直接访问 servlet 时显示的简单消息,但从 JSP 表单调用时不显示)。

如您所见,我使用的是 8181 端口;我认为这个问题与 web.xml 配置没有任何关系,因为服务器正常启动,但这是一个副本

Web.xml:

<servlet>
  <servlet-name>LoginContro</servlet-name>
  <servlet-class>attakmili.com.LoginControler</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>LoginContro</servlet-name>
  <url-pattern>/LoginControlerdo</url-pattern>
</servlet-mapping>

如果有人知道发生了什么,我将不胜感激。

JSP 代码:

<form action="LoginControlerdo"  method="post">
<table>
<tr>
<td>Pseudo</td>
<td><input type="text"  name="pseudo" /></td>
</tr>
<tr>
<td>Mot De Passe</td>
<td><input type="text"  name="password" /></td>
</tr>
<tr>
<td colspan="2" ><input type="submit" value="LOGIN" /></td>
</tr>
</table>
<br>
</form>

【问题讨论】:

  • 你是如何从 JSP 访问它的?从浏览器网络选项卡中,您可以找出问题所在??
  • 请出示JSP代码。
  • 已编辑:添加 JSP 代码
  • 你能发布你的servlet代码吗?

标签: java eclipse jsp tomcat servlets


【解决方案1】:

这应该可以,(在 LoginControlerdo 之前添加一个斜杠)

<form action="/LoginControlerdo"  method="post">
<table>
<tr>
<td>Pseudo</td>
<td><input type="text"  name="pseudo" /></td>
</tr>
<tr>
<td>Mot De Passe</td>
<td><input type="text"  name="password" /></td>
</tr>
<tr>
<td colspan="2" ><input type="submit" value="LOGIN" /></td>
</tr>
</table>
<br>
</form>

【讨论】:

    【解决方案2】:

    您正在使用POST 方法提交表单,但是当您从浏览器直接访问servlet 时,将使用GET 方法。

    您必须使用HttpServlet.doPost(HttpServletRequest, HttpServletResponse) 来实现您的逻辑。

    【讨论】:

    • 就是这样,解决了,非常感谢。 (将 doGet() 中的指令复制到 doPost())
    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 2018-04-04
    • 2023-03-16
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    相关资源
    最近更新 更多