gpt4 book ai didi

java - java servlet 出现 404 错误。看不到 html 文件

转载 作者:太空宇宙 更新时间:2023-11-04 09:29:47 25 4
gpt4 key购买 nike

我正在 YouTube 上关注 derek banas 的教程 ( https://www.youtube.com/watch?v=_HnJ501VK3M ),当我尝试运行代码时,浏览器会显示 status-404 并且
留言:/第41课/
描述:源服务器未找到目标资源的当前表示或不愿意透露该表示的存在。

我收到 IllegalArguementsException 消息,说 2 个不同的 servlet 被映射到相同的 url 模式。所以我删除了@WebServlet注释。现在我得到了404,我不知道是什么原因。我认为 Eclipse 没有看到 sayhello.html

代码如下:Servlet:Lesson41.java

public class Lesson41 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String usersName= request.getParameter("yourname");
String theLang = request.getParameter("Language");

int firstNum = Integer.parseInt(request.getParameter("firstnum"));
int secondNum = Integer.parseInt(request.getParameter("secondnum"));
int sumONum = firstNum + secondNum;

response.setContentType("text/html");

PrintWriter output = response.getWriter();

output.println("<html><body><h3>Hello " + usersName);
output.println("</h3><br />" + firstNum + " + " + secondNum);
output.println(" = " + sumONum + "<br />Speaks " + theLang);
output.println("</body></html>");
}

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

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<servlet>
<servlet-name>Lesson41</servlet-name>
<servlet-class>helloservlets.Lesson41</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Lesson41</servlet-name>
<url-pattern>/Lesson41</url-pattern>
</servlet-mapping>
</web-app>

html: sayhello.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
</head>
<body>

<form method="post" action="http://localhost:8080/Lesson41/">
What's your name?<br />
<input name="yourname" /><br />

First Number<br />
<input name="firstnum" /><br />

Second Number<br />
<input name="secondnum" /><br />

<input type="hidden" name="Language" value="English" /><br />

<input type="submit" />
</form>
</body>
</html>

目录结构: directory Structure

预期输出:它应该显示一个表单,其中包含名称、号码 1、号码 2 字段和提交按钮。它正确地转到 localhost:8080/Lesson41/,但看不到 html。

最佳答案

将 url-pattern 更新为/Lesson41/

<url-pattern>/Lesson41/</url-pattern>

将 Action 更改为/Lesson41/并尝试。可能对你有帮助。

<form method="post" action="/Lesson41/">

</form>

此外,在映射时您使用 servlet-class 作为“helloservlets.Lesson41”,需要添加包。 Servlet“Lesson41”中的“helloservlets”。

关于java - java servlet 出现 404 错误。看不到 html 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57232749/

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