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

springmvc osx windows servlet maven

邓浩漫
2023-03-14

我有一个网络应用程序。它在iosx上运行良好。但是如果我将项目(mavenproject)导入virtualbox到Windows10(使用git克隆并使用mavenproject导入eclipse)。如果我想上传一些东西到服务器,我会得到一个错误。“请求的资源不可用。”为了查看上传页面,我使用了以下控制器:

@RequestMapping(value = "/erstellen", method = RequestMethod.GET)
    public String zeigErstellenForm() {
        System.out.println("im here");
        return "dateien_upload_erstellen";
    }

它可以看到上传页,所以我猜这个函数被调用,但它不打印"im here"。我不明白发生了什么。

浏览器错误:

类型异常报告

消息请求处理失败;嵌套的异常是java。lang.NullPointerException

说明服务器遇到内部错误,无法满足此请求。

异常org.springframework.web.util.NestedServlet异常:请求处理失败;嵌套异常java.lang.NullPointerExctureorg.springframework.web.servlet.FrameworkServlet.process请求(FrameworkServlet.java:981)org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)javax.servlet.http.HttpServlet.service(HttpServlet.java:648)org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)javax.servlet.http.HttpServlet.service(HttpServlet.java:729)org.apache.tomcat.websocket.server.WsFilter.do滤波器(WsFilter.java:52)

根本原因java.lang.NullPointerExc农田de.bla.blabla.服务。OrdnerErstellen.namePruefen(OrdnerErstellen.java:52)de.bla.blabla.服务。OrdnerErstellen.random名称(OrdnerErstellen.java:33)de.bla.blabla.服务。OrdnerErstellen。OrdnerErstellen.java:17)de.bla.blabla.控制器。DateiUploadController.save(DateiUploadController.java:52)sun.reflect.NativeMEDAccessorImpl.invoke0(本地方法)sun.reflect.NativeMEDAccessorImpl.invoke(未知来源)sun.reflect.委托--plhd--18/>Method.invoke(未知来源)org. springframework. web. bind.注释. support。HandlerMETHODInvoker. invkeHandlermethod(HandlerMETHODInvoker. java: 178)org. springframework. web. servlet. mvc.注释。注解:org. springframework. web. servlet. mvc.处理(AnnotationMEDHandlerAdapter. java: 432)org. springframework. web. servlet.DispatcherServlet. doDispatch(DispatcherServlet. java: 959)org. springframework. web. servlet.DispatcherServlet. doService(DispatcherServlet. java: 893)org. springframework. web. servlet.处理请求(FrameworkServlet. java: 969)org. springframework. web. servlet。. doPost(FrameworkServlet. java: 871)javax. servlet. http.服务(HttpServlet. java: 648)org. springframework. web. servlet.服务(FrameworkServlet. java: 845)javax. servlet. http.服务(HttpServlet. java: 729)org. apache. tomcat. webocket. server.WsFilter. doFilter(WsFilter. java: 52)

eclipse中的错误:

SCHWERWIEGEND:Servlet。路径为[/testMaven]的上下文中servlet[test]的service()引发了异常[请求处理失败;嵌套异常为java.lang.NullPointerException],根本原因为java。de.bla处的lang.NullPointerException。布拉布拉。服务。奥德内勒斯泰伦。位于de.bla的namePruefen(ordnerrestellen.java:52)。布拉布拉。服务。奥德内勒斯泰伦。位于de.bla的randomName(ordnerrestellen.java:33)。布拉布拉。服务。奥德内勒斯泰伦。(ordnerrestellen.java:17)在de.bla。布拉布拉。控制器。DateiUploadController。在sun上保存(DateiUploadController.java:52)。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(未知源)。反映DelegatingMethodAccessorImpl。在java上调用(未知源)。朗。反思。方法在组织中调用(未知源)。springframework。网状物绑定注释。支持HandlerMethodInvoker。org上的invokeHandlerMethod(HandlerMethodInvoker.java:178)。springframework。网状物servlet。mvc。注释。注释方法HandlerAdapter。org上的invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:444)。springframework。网状物servlet。mvc。注释。注释方法HandlerAdapter。handle(AnnotationMethodHandlerAdapter.java:432)位于org。springframework。网状物servlet。调度员服务。doDispatch(DispatcherServlet.java:959)位于org。springframework。网状物servlet。调度员服务。doService(DispatcherServlet.java:893)位于org。springframework。网状物servlet。FrameworkServlet。processRequest(FrameworkServlet.java:969)位于org。springframework。网状物servlet。FrameworkServlet。javax上的doPost(FrameworkServlet.java:871)。servlet。http。HttpServlet。服务(HttpServlet.java:648)位于org。springframework。网状物servlet。FrameworkServlet。javax上的服务(FrameworkServlet.java:845)。servlet。http。HttpServlet。服务(HttpServlet.java:729)位于org。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。org上的internalDoFilter(ApplicationFilterChain.java:292)。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。doFilter(ApplicationFilterChain.java:207)位于org。阿帕奇。公猫websocket。服务器WsFilter。doFilter(WsFilter.java:52)位于org。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。org上的internalDoFilter(ApplicationFilterChain.java:240)。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。doFilter(ApplicationFilterChain.java:207)位于org。阿帕奇。卡塔琳娜。果心标准包装阀。在org上调用(StandardWrapperValve.java:212)。阿帕奇。卡塔琳娜。果心标准连接阀。在org上调用(StandardContextValve.java:106)。阿帕奇。卡塔琳娜。验证者。AuthenticatorBase。在org调用(AuthenticatorBase.java:502)。阿帕奇。卡塔琳娜。果心标准阀门。在org上调用(StandardHostValve.java:141)。阿帕奇。卡塔琳娜。阀门。错误报告阀。在org调用(ErrorReportValve.java:79)。阿帕奇。卡塔琳娜。阀门。抽象逻辑阀。在org上调用(AbstractAccessLogValve.java:616)。阿帕奇。卡塔琳娜。果心标准引擎版本。在org上调用(StandardEngineValve.java:88)。阿帕奇。卡塔琳娜。连接器。郊狼适应者。服务(CoyoteAdapter.java:522)位于org。阿帕奇。郊狼。http11。抽象http11处理器。进程(AbstractHttp11Processor.java:1095)位于org。阿帕奇。郊狼。AbstractProtocol$AbstractConnectionHandler。org上的进程(AbstractProtocol.java:672)。阿帕奇。公猫util。网NioEndpoint$SocketProcessor。doRun(NioEndpoint.java:1500)位于org。阿帕奇。公猫util。网NioEndpoint$SocketProcessor。在java上运行(NioEndpoint.java:1456)。util。同时发生的线程池执行器。java上的runWorker(未知源)。util。同时发生的线程池执行器$Worker。在组织上运行(未知源)。阿帕奇。公猫util。线程。TaskThread$WrappingRunnable。在java上运行(TaskThread.java:61)。朗。丝线。运行(未知源)

我使用:

  • tomcat 8

Servlet:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

<context:component-scan base-package="de.bla.blabla.Controller"/>


 <bean id="multipartResolver"
  class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>

<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/"/>

  <bean id="jspViewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
  </bean>
</beans>

网状物xml:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">  <display-name>test</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>test</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
        <servlet-name>test</servlet-name>
        <url-pattern>*.html</url-pattern>
        <url-pattern>/download</url-pattern>
        <url-pattern>/read</url-pattern>
    </servlet-mapping>

</web-app>

项目中没有错误。我把所有东西都打扫干净。

共有1个答案

松俊才
2023-03-14

您不能在JSP中显示sysout消息!

webapp的WEB-INF/jsp目录中,创建一个文件index.jsp并在这些JSP中写入helloWorld消息。

除非你错过了别的东西,否则它会起作用的。

或者,如果要使用该模型,请在控制器内部执行以下操作:

ModelAndView mav = new ModelAndView();
mav.addObject("message", "hello world");
return mav;

对于nullpointer异常,我将尝试使用eclipse平台进行远程调试,并在以下行中设置一些断点:

de.bla.blabla.服务。OrdnerErstellen.namePruefen(OrdnerErstellen.java:52)

在de.bla.blabla.服务。OrdnerErstellen.random名称(OrdnerErstellen.java:33)

在de.bla.blabla.服务。OrdnerErstellen。OrdnerErstellen.java:17)

在de.bla。布拉布拉。控制器。DateiUploadController。保存(DateiUploadController.java:52)

 类似资料:

相关问答

相关文章

相关阅读