gpt4 book ai didi

java - 在 Intellij 中找不到 Servlet

转载 作者:搜寻专家 更新时间:2023-11-01 02:21:05 24 4
gpt4 key购买 nike

我试图将我的 jsp 页面与 servlet 一起运行。当我尝试通过 url 调用它时找不到 Servlet

http://localhost:8080/StudentServlet我收到 404 错误消息:

"requested resource not available".

我也在尝试通过表单调用它。当我点击提交时,它无法识别并产生相同的错误。

阅读此处要求使用 Maven 或通过 web.xml 设置映射的答案。据我了解,通过 web.xml 设置是旧方法,新方法是在我拥有的 servlet 上设置名称。不确定我做错了什么。

我没有使用和构建工具,只是启动我在本地使用的 Tomcat 服务器来运行有效的 jsp 页面。但是 Servlet 不被识别。添加了项目结构的屏幕截图,以防出现问题。

小服务程序

@WebServlet(name = "StudentServlet")
public class StudentServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<html><body>");

out.println("<h3>Student name is:" +
request.getParameter("firstname") +
" " +
request.getParameter("lastname") +
"</h3>");

out.println("</body></html>");

}
}

index.jsp

<form action="StudentServlet" method="get">
First Name: <input type="text" name="firstname"/>
<br/><br/>
Last Name: <input type="text" name="lastname"/>
<br/><br/>
<input type="submit" value="Submit"/>
</form>

项目结构

enter image description here

最佳答案

WebServlet documentation陈述如下:

At least one URL pattern MUST be declared in either the value or urlPattern attribute of the annotation, but not both.

您可以只使用以下内容:

@WebServlet("/StudentServlet")

或者这个:

@WebServlet(name = "StudentServlet", urlPatterns={"/StudentServlet"})

或者这个:

@WebServlet(name = "StudentServlet", value="/StudentServlet")

The value attribute is recommended for use when the URL pattern is the only attribute being set, otherwise the urlPattern attribute should be used.

关于java - 在 Intellij 中找不到 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42377158/

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