Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 404简单jsp页面错误_Java_Spring_Jsp_Spring Mvc - Fatal编程技术网

Java 404简单jsp页面错误

Java 404简单jsp页面错误,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我犯了一个看起来像新手犯的错误,但似乎我无法克服。我正在学习JSP和Spring,在我的项目中遇到了404错误。 我使用的是Tomcat8.0本地服务器。我的目标是在教程的帮助下从“到”,但这将导致404 “dispatcher servlet.xml” 如果有帮助的话,这个项目 提前感谢:)如果出现部署问题或服务器问题,您可以执行一些步骤 清理并生成项目,并将war文件复制到服务器中 在更新war文件之前,必须关闭tomcat或服务器 启动服务器并打开URL,检查war extract a

我犯了一个看起来像新手犯的错误,但似乎我无法克服。我正在学习JSP和Spring,在我的项目中遇到了404错误。 我使用的是Tomcat8.0本地服务器。我的目标是在教程的帮助下从“到”,但这将导致404

“dispatcher servlet.xml”

如果有帮助的话,这个项目


提前感谢:)

如果出现部署问题或服务器问题,您可以执行一些步骤

  • 清理并生成项目,并将war文件复制到服务器中
  • 在更新war文件之前,必须关闭tomcat或服务器
  • 启动服务器并打开URL,检查war extract automatic(自动提取)与否。如果是,则服务器没有问题
  • 检查URL和日志文件以获得更好的保证。 很乐意帮忙

正如我在评论中注意到的,他们有一个问题,就是你的应用程序是否正确部署,因为你的web.xml看起来不太有效

(一) 这仅在您希望将全局应用程序上下文传递给所有servlet时使用,在这种配置下,就像您加载了两次spring上下文一样。 您可以在中找到更多信息


上下文配置位置
/WEB-INF/dispatcher-servlet.xml
因此,如果不想传递全局appContext,请从web.xml中删除以下行

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

上下文配置位置
/WEB-INF/dispatcher-servlet.xml
org.springframework.web.context.ContextLoaderListener
(ii)

在servlet映射中,将url模式从/更改为/* 所以它会像:

 <servlet-mapping>
        <servlet-name>servlet-dispatcher</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

servlet调度器
/*
(iii) 在dispatcher-servlet.xml中,添加控制器所在的包 因为它没有被弹簧处理

<context:component-scan base-package="controller" />

在基于XML的MultiActionController中,您必须配置方法名称解析器(InternalPathMethodNameResolver、PropertiesMethodNameResolver或ParameterMethodNameResolver),以将URL映射到特定的方法名称

首先,您可以尝试将控制器bean添加到dispatcher-servlet.xml

<!-- Register the bean -->
<bean class="yourPackage.controller.BonjourController " />


如果不起作用,请尝试ViewResolver。

因此,最终这是我的误解。事实上,我在dispatcherservlet.xml中使用了错误的基本包。。。至少这篇文章教会了我一些J2E的好习惯和如何使用tomcat


无论如何,谢谢您的时间:)

您的应用程序在服务器上成功部署了吗?@Subodh是的,我想是的(如果这是您所说的部署),当我的服务器启动并且我尝试连接到URL时,会出现控制台文本。在日志中,它将清楚地显示项目是否已部署,因此tomcat目录中的日志文件为空,但由于我可以访问“”它会显示我猜它已经部署的信息。我知道你没有直接在Tomcat中部署你的项目,你是从某个ide运行它的,所以ide会向你显示登录控制台。多亏了你,我找到了如何检查是否部署了,它实际上已经部署:)
 <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </context-param>
<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
 <servlet-mapping>
        <servlet-name>servlet-dispatcher</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
<context:component-scan base-package="controller" />
<!-- Register the bean -->
<bean class="yourPackage.controller.BonjourController " />