gpt4 book ai didi

java - 让jsp文件转到servlet

转载 作者:行者123 更新时间:2023-12-02 07:45:21 25 4
gpt4 key购买 nike

我的 .jsp 文件在执行某些操作后出现问题,它必须转到我的 login.java(servlet),我认为这可以通过执行以下操作来实现:

web-inf/serverlet 文件夹中的login.java servlet(我创建的)并在我的 jsp 页面中将 ${pageContext.request.contextPath}/servlets/login 作为 url 执行。

问题是我收到错误“请求的资源 () 不可用。”代码为 404。

难道不能让jsp通过url去servlet吗?

亲切的问候,

最佳答案

您需要将 Servlet 创建为 Java 源代码文件夹中包中的普通 Java 类,而不是在 Web 文件夹中手动创建的文件夹中。您还需要将 Servlet 映射到 URL 模式。

在Java源代码文件夹中创建一个包com.example(或者其他东西,但它必须在一个包中),然后按照通常的方式创建以下类Java方式:

package com.example;

// ...

@WebServlet("/login")
public class Login extends HttpServlet {

// ...

}

如果您使用的是 Eclipse 或 Netbeans 等 IDE,那么它将自动编译到正确的文件夹中,并且在部署后,它将在相对于上下文路径的 URL /login 上可用.

<form action="${pageContext.request.contextPath}/login" method="post">

如果您仍然没有使用 Servlet 3.0 兼容容器(Tomcat 7、Glassfish 3 等),那么您需要删除 @WebServlet 注释并以老式方式注册 servlet web.xml如下:

<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.example.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>

另请参阅:

关于java - 让jsp文件转到servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10960524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com