编辑10/8/10 @ 8:20 am est - 因为我无法在prod中完成这项工作,所以我会尝试让它在测试中失败。
编辑10/8/10 @ 4:30 pm - 享受美好时光!不。好吧,地狱继续。我今天早些时候了解到,我们也将Apache httpd作为一个单独的进程运行。所以我们想也许我们不会以某种方式将请求转发给Tomcat。我没有在我的测试环境中运行httpd。
编辑10/8/10 @ 8:20 pm - 发现服务器上还运行了httpd。 httpd只是将jsp请求转发给Tomcat。 Apache正在吃servlet请求,试图提供静态页面(?)并且当然失败了。我从worker2.properties中删除了bajezus,使httpd转发请求。哎哟。
Tomcat 5.5,RedHat linux。
我创建了一个servlet,当然在我们的测试环境中运行良好。我把它移到生产中我失败了404错误。根据catalina日志,servlet似乎正确加载。
我在智慧结束 - 我不知道如何解决这个问题。这几乎就像我在某个地方错误拼写了servlet这个名字。
这是我的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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_2_5.xsd">
<display-name>Pdf Servlet</display-name>
<servlet>
<servlet-name>pdf</servlet-name>
<servlet-class>com.thop.exp.PdfServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>pdf</servlet-name>
<url-pattern>/pdf</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
我正在浏览www.myurl.net/PdfServlet/pdf
。我相信我已经扎根了。 war文件的名称是PdfServlet.war。
关于问题的任何想法,或者我能做些什么来获得想法的想法?
这是日志。
INFO: Installing web application at context path /PdfServlet from URL file:/mnt/san00/aaadata_root/ROOT/PdfServlet
Oct 7, 2010 11:32:50 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Oct 7, 2010 11:32:50 PM org.apache.catalina.startup.ContextConfig applicationConfig
INFO: Missing application web.xml, using defaults only StandardEngine[Catalina].StandardHost[aaa.net].StandardContext[]
Oct 7, 2010 11:32:50 PM org.apache.catalina.core.StandardHost getDeployer
INFO: Create Host deployer for direct deployment ( non-jmx )
Oct 7, 2010 11:32:50 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Oct 7, 2010 11:32:50 PM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
Oct 7, 2010 11:32:50 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/25 config=/usr/share/tomcat5/conf/jk2.properties
Oct 7, 2010 11:32:50 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 4325 ms
答案 0 :(得分:1)
Tomcat 5.5是servlet 2.4 container,你已经指定你有2.5 web.xml。
如果测试中的Tomcat版本比5.5(6或7)更新,则尝试将web.xml降低到2.4。
编辑:好的,然后再次尝试从web.xml中删除/ pdf,看看是否可以从index.jsp文件中调用com.thop.exp.PdfServlet
类。
答案 1 :(得分:1)
我建议您尝试将您的网络应用程序打包为WAR文件 - 将其命名为PDFServlet.war。
将它放入Tomcat / webapps目录。
相关网址为http://www.myurl.net:8080/PdfServlet/pdf
。
我假设您已经让Tomcat在端口8080上侦听;如果没有,请添加您自己的端口号。
无法指定用户想要的PDF吗?或者它始终是相同的PDF?