关于web.xml的配置而Servlet无法启动的问题

btsw 2008-06-25 07:17:42
各位 现在问题是这样的
在下面的是我的web.xml的文件 我在我本机tomcat5.5 tomcat6.0都没问题
但是当我上传到服务器后就不能开启服务了 (服务器开启服务的界面一直开和关2个按钮没有错误提示)
我一段段排除后发现 好像是filter

<filter>
<filter-name>SessionFilter</filter-name>
<filter-class>com.myproj.SessionFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
[code]
这段的问题 请问有什么办法几角或者替换写法么?


[code=XML]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name>myproj</display-name>
<description>
myproj
</description>

<filter>
<filter-name>SessionFilter</filter-name>
<filter-class>com.myproj.SessionFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>

<servlet>
<servlet-name>action</servlet-name>

<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>

<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>

<init-param>
<param-name>debug</param-name>
<param-value>100</param-value>
</init-param>

<init-param>
<param-name>detail</param-name>
<param-value>100</param-value>
</init-param>

<load-on-startup>0</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

</web-app>
...全文
627 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
重新部署
btsw 2008-06-26
  • 打赏
  • 举报
回复
出现新问题了 已发新帖 希望大家继续帮忙
http://topic.csdn.net/u/20080626/20/710c8703-875f-4f4e-976a-4a3ef9f54286.html
btsw 2008-06-26
  • 打赏
  • 举报
回复
现在经过一再的排查后发现是这样的
我本机的TOMCAT是6.0的 服务器是5.5.9 为此我在本机也装了一个apache-tomcat-5.5.26
现在的情况如下
在JDK1.6 TOMCAT 6.0 正常
在JDK1.5 TOMCAT 6.0 正常

问题是在
在JDK1.5 TOMCAT 5.5 不正常报错

错误是
2008-06-26 15:24:52 [日志信息] Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.NoClassDefFoundError: javax/el/ExpressionFactory
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
at java.lang.Class.getConstructor0(Class.java:2671)
at java.lang.Class.newInstance0(Class.java:321)
at java.lang.Class.newInstance(Class.java:303)


顺便解释一下我的环境
eclipse 3.3.2
MyEclipse 6.0
tomcat-5.5.26
tomcat-6.0.16
jdk1.5.0_15
jdk1.6.0_06
mysql5.0
服务器环境
jdk1.5.0_04
tomcat-5.5.9
mysql4.0
l_wenb 2008-06-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 java2000_net 的回复:]
com.myproj.SessionFilter

你确信这个东西在你的项目里面吗?

是不是需要一个额外的jar支持啊! 复制一个到服务器上面去,或者把你本机的jar全部移动过去。

tomcat可以直接移动到其它机器的,整个目录。
[/Quote]
Shine_Panda 2008-06-25
  • 打赏
  • 举报
回复
确保你的jar在 lib目录下。 不是 引用的。在重新部署试下。
btsw 2008-06-25
  • 打赏
  • 举报
回复
改成<load-on-startup>1 </load-on-startup> 试过了 还是一样问题

com.myproj.SessionFilter 在我的项目里 同样所有jar我都传过去了已经
TRMeister 2008-06-25
  • 打赏
  • 举报
回复
<load-on-startup>0</load-on-startup>为什么是0?

<load-on-startup>1</load-on-startup>
老紫竹 2008-06-25
  • 打赏
  • 举报
回复
com.myproj.SessionFilter

你确信这个东西在你的项目里面吗?

是不是需要一个额外的jar支持啊! 复制一个到服务器上面去,或者把你本机的jar全部移动过去。

tomcat可以直接移动到其它机器的,整个目录。
btsw 2008-06-25
  • 打赏
  • 举报
回复
SessionFilter 类


package com.myproj;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.myproj.HibernateSessionFactory;

public class SessionFilter implements Filter {

public void destroy() {
// TODO Auto-generated method stub

}

public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
try {
//System.out.println("doFilter try");
HttpServletRequest request = (HttpServletRequest)arg0;
HttpServletResponse response = (HttpServletResponse)arg1;
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
arg2.doFilter(request, response);
response.setCharacterEncoding("UTF-8");
}
finally {
//System.out.println("doFilter finally");
HibernateSessionFactory.closeSession();
}
}

public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

}
老紫竹 2008-06-25
  • 打赏
  • 举报
回复
com.myproj.SessionFilter

你确信这个东西在你的项目里面吗?

是不是需要一个额外的jar支持啊! 复制一个到服务器上面去,或者把你本机的jar全部移动过去。

tomcat可以直接移动到其它机器的,整个目录。
胡矣 2008-06-25
  • 打赏
  • 举报
回复
给了一个struts1.*的web.xml干什么?
btsw 2008-06-25
  • 打赏
  • 举报
回复
如果web.xml中文删除了filter标签 那就恩那个顺利启动,启动后tomcat报错如下


HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Module 'null' not found.
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.NullPointerException: Module 'null' not found.
org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:755)
org.apache.struts.taglib.TagUtils.computeURLWithCharEncoding(TagUtils.java:364)
org.apache.struts.taglib.TagUtils.computeURLWithCharEncoding(TagUtils.java:285)
org.apache.struts.taglib.logic.RedirectTag.generateRedirectURL(RedirectTag.java:289)
org.apache.struts.taglib.logic.RedirectTag.doEndTag(RedirectTag.java:268)
org.apache.jsp.index_jsp._jspx_meth_logic_redirect_0(org.apache.jsp.index_jsp:333)
org.apache.jsp.index_jsp._jspx_meth_logic_empty_0(org.apache.jsp.index_jsp:308)
org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:74)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
Apache Tomcat/5.5.9
TRMeister 2008-06-25
  • 打赏
  • 举报
回复
异常~~~~~呢?就这么些信息呀?

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧