繁体   English   中英

JSP不在Linux上创建Servlet类

[英]JSP does not create class of servlet on linux

这是我的JSP代码,从html文件中调用...

<%
System.out.println("DEBUG1");
int id = (request.getRequestedSessionId()+request.getRemoteAddr()).hashCode();
System.out.println("DEBUG2");
SERVLETCLASS d = new SERVLETCLASS(id); // Stuck here
System.out.println("DEBUG3");
String sen = request.getParameter("data");
String name = request.getParameter("name");
System.out.println("SEN: "+sen);
String rtn = d.runJob(name, sen);
System.out.println("RTN: "+rtn);
%>

我使用Eclipse在Windows上开发了一个项目,并尝试在Windows上进行WAR部署测试。 它按我的要求很好地工作。

但是,当我将WAR文件复制到Linux并尝试在其上进行部署时, 新的SERVLETCLASS(id)无法正常工作。 因此终端仅显示DEBUG1和DEBUG2。

当然,我在Linux中更改了server.xml

Windows和Linux之间有区别吗? 特别是在CentOS 7上。

ps我用的是Apache Tomcat 8.0.24



编辑

抱歉,我无法上传课程代码,因为这是我公司的工作之一。 它只调用JavaSE中的几种方法。 我将JavaSE项目移植到JavaEE。

但是多亏了RC。我想我发现了日志显示的原因

日志 (从catalina.-today-.log)/单击以查看大图

在此处输入图片说明

我手动安装了apr,apr-util,pcre和tomcat。 但是为什么会这样呢?

Windows中不存在另一个错误,

03-Aug-2015 15:20:15.546 WARNING [main] org.apache.tomcat.util.digester.SetPropertiesRule.begin [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ChatBot' did not find a matching property.

好吧,我认为这不是问题,但是我也在Linux中安装了eclipse。

该代码看起来很奇怪-似乎缩写太多了? 有两个选项-您的SERVLETCLASS (这真的是您的类的名称吗?)包含一个无限循环(该请求SERVLETCLASS无休止),或者它抛出Exception或Error并被其他地方吞没。

您可以通过将调用包装在try/catch子句中来尝试调试它:

System.out.println("DEBUG2");
try {
    SERVLETCLASS d = new SERVLETCLASS(id);
} catch (Throwable t) {
    t.printStackTrace();
}
System.out.println("DEBUG3");

这样,您将看到是否存在被吞噬的异常或错误。 如果找到了,请从那里继续。

另外,我希望您的SERVLETCLASS实际上不是servlet,因为通常您自己不会创建servlet,而是将此任务留给应用程序服务器。 如果您以此处的方式实例化,请将来的维护者帮忙,并在非servlet类中使用您的逻辑。

我通过手动重新安装所有tomcat / httpd相关组件来解决此问题。

谢谢大家

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM