Httpservlet错误404,不确定我在做什么错,我已经尝试了所有解决方案

时间:2019-06-03 13:15:27

标签: servlets intellij-idea web-applications error-handling http-status-code-404

因此,我试图创建一个使用java的Web应用程序,并尝试通过httpservlet将html连接到java。作为一个试用,我只是试图将一些样本数据传递给html,并从html传递给java,反之亦然。我遇到的问题是当我运行html表单时运行正常,并且在添加所需的值后尝试按搜索按钮,它转到404 Not Found页面。我试图确保已编译的servlet类文件位于/ WEB-INF / classes文件夹中的包结构中。我也有一个包裹。我正在使用tomcat来构建和编译该应用程序,但我收到“原始服务器未找到目标资源的当前表示或不愿意透露该资源的存在。”当我尝试运行“ http://localhost:8080/”时。我试过使用@WebServlet,在HTML中使用“ action”并添加一个jsp文件。我提供了文件夹结构,网页和错误的图像。

我不知道我在做什么错,真的很想帮忙##


##

Folder Structure

Error

Web page

Java

@WebServlet("/servlet")
public class page extends HttpServlet {

@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) 
throws IOException {

String accountid = request.getParameter("Accountid");
String marketid = request.getParameter("Marketid");

response.setContentType("text/html");
PrintWriter writer = response.getWriter();

writer.println("<html>");
writer.println("<head>");
writer.println("<title> Incidents search result </title>");
writer.println("<head>");
writer.println("<body>");
writer.println("<h1>" + accountid + marketid + "</h1>");
writer.println("</body>");
writer.println("</html>");
}

HTML

<form name="getInput" action="${com.example.page.java}/servlet" method="post">
    <p>Account id: <input type="text" name="Accountid"></p>
    <p>Market id: <input type="text" name="Marketid"></p>
    <input type="submit" value="Submit">
 </form>

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_3_1.xsd"
     id="WebApp_ID" version="3.1"
 >

 <!-- Invoke 'Generate' action to add tags or functions -->

 <servlet>
    <servlet-name>Servlet</servlet-name>
    <servlet-class>com.example.page</servlet-class>
 </servlet>
 <servlet-mapping>
    <servlet-name>Servlet</servlet-name>
    <url-pattern>/servlet</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>getInputs.html</welcome-file>
 </welcome-file-list>


 </web-app>

jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Same as the html

编辑:我已经尝试使用Servlet returns “HTTP Status 404 The requested resource (/servlet) is not available”,但是它似乎没有用,正如我在代码和文件夹结构中所显示的那样,并且还使用了tomcat plus,并且尝试了所有不同的'action = ...”)。

编辑:这是我遇到的新错误 New Error

1 个答案:

答案 0 :(得分:0)

我认为问题在于HTML中提供的操作路径,请删除$ {com.incidents.cashout.CurlExecutor.java}并尝试使用。通过sysouts查找路径。