0

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

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

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

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

亲切的问候,

4

2 回答 2

2

您需要在 Java 源代码文件夹中的包中创建 servlet 作为普通 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>

也可以看看:

于 2012-06-09T11:29:01.003 回答
0

您不能将 .java 文件放入已编译的应用程序中。查看本教程: http: //netbeans.org/kb/docs/javaee/ecommerce/page-views-controller.html例如使用 NetbeansIDE 开发的 jsp+servlet。
并回答问题:是的,这是完全可能的。

于 2012-06-09T11:20:33.313 回答