好的,这很奇怪。我在win7工作站上安装了WAMP和Tomcat。我下载了一个实时网站的副本,工作正常。我还设置了db的副本。网站是一个非常古老的jsp网站。
当我在主页上工作时,一切都很好。如果我点击其他页面,例如"新闻","功能",我可以看到一切正常。
但是,如果我打开news.jsp,features.jsp ...文件,我甚至改变了最小的东西,或者什么都没有,但是我再次保存它们,我得到了邪恶的nullpointerexception错误:
message java.lang.NullPointerException
description The server encountered an internal error that prevented it from fulfilling this request.
exception`enter code here`
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:584)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NullPointerException
org.apache.jsp.Pages.features_jsp.jspDestroy(features_jsp.java:42)
org.apache.jasper.runtime.HttpJspBase.destroy(HttpJspBase.java:59)
org.apache.jasper.servlet.JspServletWrapper.destroy(JspServletWrapper.java:477)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:165)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
到底发生了什么事?如何将文件正常工作但如果我打开它们就会停止工作?这是权限问题吗?我来自php并且不知道如何处理这个环境。
答案 0 :(得分:1)
您是否通过保存自动更改了文件的编码?检查旧编码,你可以比较前一个和后一个文件的大小。
您是否自动更改了换行符? Windows中的某些换行在Linux中表现不佳,如众所周知的\ n和\ r \ n问题。此外,我曾经在寡妇的Notepad ++中编辑了一个bash文件,但是在Linux中执行它时有异常。然后解决方案是在Linux中重新键入它。
顺便说一下,您是否介意粘贴 jspDestroy(features_jsp.java:42)等代码,以便我可以获得更多信息?
希望它有所帮助!