当前位置: 首页 > 知识库问答 >
问题:

404使用tomcat、struts2和eclipse的java web应用程序出现错误

夏景同
2023-03-14

我正在构建我的第一个struts2应用程序,并得到错误:

  • HTTP状态404-/Struts2Beginner/Input。jsp
  • 输入状态报告-message/Struts2Beginner/Input。jsp说明请求的资源不可用
  • ApacheTomcat/7.0.64

关于这个问题有很多帖子,我想我消除了两个常见问题:

  1. 我正在使用StrutsPrepareAndExecuteFilter(而不是FilterDispatcher)
  2. 我有两个commons-lang-2.4。jar和commons-lang3-3.2。我的WEB-INF/lib中的jar

我是按照教程http://www.codejava.net/frameworks/struts/struts2-beginner-tutorial-eclipse-tomcat-xml?showall=

WEB-INF库

  • commons-fileupload-1.2.2.jar
  • commons-io-2.0.1.jar
  • commons-lang-2.4.jar
  • commons-lang3-3.1.jar
  • commons-logging-1.1.1.jar
  • commons-logging-api-1.1.jar
  • freemarker-2.3.19.jar
  • javaid-3.11.0. ga. jar
  • ognl-3.0.6.jar
  • struts2-core-2.3.8.jar
  • xwork-core-2.3.8.jar

struts。xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <package name="Struts2Beginner" extends="struts-default">
        <action name="calculateSumAction" class="net.codejava.struts.SumAction"
            method="calculate">
            <result name="success">Result.jsp</result>
            <result name="input">Input.jsp</result>
        </action>
    </package>
</struts>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
  <display-name>Struts2Beginner</display-name>

    <filter>
      <filter-name>struts2</filter-name>
      <filter-class>
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
      </filter-class>
    </filter>

    <filter-mapping>
      <filter-name>struts2</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

SumAction。JAVA

package net.codejava.struts;

import com.opensymphony.xwork2.ActionSupport;

public class SumAction extends ActionSupport {
    private int x;
    private int y;
    private int sum;

    /**
     * The action method
     * @return name of view
     */
    public String calculate() {
        sum = x + y;
        return SUCCESS;
    }

    // setters and getters for x, y, and sum:

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    public int getSum() {
        return sum;
    }

    public void setSum(int sum) {
        this.sum = sum;
    }
}

输入jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Struts2 beginner example application</title>
</head>
<body>
    <center>
        <h2>Calculate sum of two numbers</h2>
        <s:form action="calculateSumAction" method="post">
            <s:textfield name="x" size="10" label="Enter X" />
            <s:textfield name="y" size="10" label="Enter Y" />
            <s:submit value="Calculate" />
        </s:form>
    </center>
</body>
</html>

后果jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Sum Result</title>
</head>
<body>
    Sum of <s:property value="x"/>
    and <s:property value="y"/>
    is:
    <s:property value="sum"/>
</body>
</html>

我花了几个小时试图调试这个,但迄今为止运气不佳。

共有1个答案

胡星汉
2023-03-14

当网络上没有欢迎文件列表时,将面临404错误。xml。

在web中添加下面的代码。xml,

<welcome-file-list>
  <welcome-file>Input.jsp</welcome-file></welcome-file-list>

右键单击并运行项目-

 类似资料:
  • [见底部更新]我试图通过Tomcat启动Spring Web应用程序,但是当我在浏览器中输入urlhttp://localhost:8080/demo-mvc/时,我收到了404错误和一条消息“请求的资源[/demo-mvc/]不可用”。起初,我试图通过NetBeans部署应用程序,它说部署成功,但是在浏览器启动时,我收到了404错误。我检查了Tomcat/webapp目录,不知为什么没有找到应用

  • 我的项目命名为“A”,我的类是: Maven插件: 在src/main/webapp/WEB-INF/web.xml下,我有 我做错了什么?

  • 几天以来,我在运行Struts网络应用程序时遇到了一些问题。我尝试了StackOverflow中与我的问题相关的几个解决方案,但都不起作用。 网状物xml: struts。xml: 登录。jsp: 登录。爪哇: 我补充说: commons-logging-1.1.3。罐子 freemarker-2.3.19。罐子 ognl-3.0.6。罐子 struts2-core-2.3.15.1。罐子 xwo

  • 我制作了Spring web应用程序示例项目。我做了所有的基本配置,基于java的配置和servlet 3.0web.xml.但在所有这些配置后,当我打网址它给我404错误。会有什么问题。有人能帮帮我吗? 网状物xml: 配置java类: 控制器: 当我试图访问这个网址 它给我404错误。虽然当我直接访问jsp页面时,它显示该页面。

  • 我在Spring MVC中开发了一个应用程序,当我直接从eclipse通过run as->run On server运行它时,它工作得很好。 但是现在我想要将war部署到Tomcat文件夹并从那里运行它。我已经对此做了更改,war正在正确地部署到所需的tomcat文件夹中,但当我启动tomcat服务器并在浏览器中访问应用程序url时,它会给我404错误。服务器正在启动,没有任何异常。 下面是项目结

  • 我上网想知道为什么我收到404我尝试了几乎所有的解决方案,但没有帮助。我有: 日食照片 Tomcat 9 Java版本1.8 使用Jersey 2.27的Maven项目 当我点击http://localhost:8080/test/rest/testservice时,我得到了404“描述:源服务器没有找到目标资源的当前表示形式,或者不愿意透露存在此表示形式。 项目结构和JAVA类 我已经在部署程序