当前位置: 代码迷 >> Java Web开发 >> 练习写Servlet时出错,哪里出问题了?
  详细解决方案

练习写Servlet时出错,哪里出问题了?

热度:189   发布时间:2008-01-09 12:44:22.0
练习写Servlet时出错,哪里出问题了?
报错如下:
信息: Reloading this Context has started
2008-1-9 12:32:33 org.apache.commons.digester.Digester endElement
严重: End event threw exception
java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216)
    at org.apache.commons.digester.CallMethodRule.end(CallMethodRule.java:505)
    at org.apache.commons.digester.Rule.end(Rule.java:276)
    at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.commons.digester.Digester.parse(Digester.java:1548)
    at org.apache.catalina.startup.ContextConfig.applicationConfig(ContextConfig.java:263)
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:624)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:216)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4290)
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3043)
    at org.apache.catalina.startup.HostConfig.restartContext(HostConfig.java:873)
    at org.apache.catalina.startup.HostConfig.checkContextLastModified(HostConfig.java:759)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1085)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.StandardHost.backgroundProcess(StandardHost.java:800)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1619)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1628)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1608)
    at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> hello in servlet mapping
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:2238)
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:2214)
    ... 32 more
2008-1-9 12:32:33 org.apache.catalina.startup.ContextConfig applicationConfig
严重: Parse error in application web.xml
java.lang.IllegalArgumentException: Invalid <url-pattern> hello in servlet mapping
    at org.apache.commons.digester.Digester.createSAXException(Digester.java:2540)
    at org.apache.commons.digester.Digester.createSAXException(Digester.java:2566)
    at org.apache.commons.digester.Digester.endElement(Digester.java:1061)
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.commons.digester.Digester.parse(Digester.java:1548)
    at org.apache.catalina.startup.ContextConfig.applicationConfig(ContextConfig.java:263)
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:624)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:216)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4290)
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3043)
    at org.apache.catalina.startup.HostConfig.restartContext(HostConfig.java:873)
    at org.apache.catalina.startup.HostConfig.checkContextLastModified(HostConfig.java:759)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1085)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.StandardHost.backgroundProcess(StandardHost.java:800)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1619)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1628)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1608)
    at java.lang.Thread.run(Thread.java:595)
2008-1-9 12:32:33 org.apache.catalina.startup.ContextConfig applicationConfig
严重: Occurred at line 14 column 20
2008-1-9 12:32:33 org.apache.catalina.startup.ContextConfig start
严重: Marking this application unavailable due to previous error(s)
2008-1-9 12:32:33 org.apache.catalina.core.StandardContext start
严重: Error getConfigured
2008-1-9 12:32:33 org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors
搜索更多相关主题的帖子: Servlet  java  练习  commons  reflect  

----------------解决方案--------------------------------------------------------
你的错误多啊,,,还是用个断点试试,,要不把代码贴上
----------------解决方案--------------------------------------------------------
在ecilpse上编写的
servlet代码:
package com.sh7;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorldServlet extends HttpServlet
{
    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
        response.setContentType("text/html;charset=gb2312");
        PrintWriter out = response.getWriter();

        out.println("<html>");
        out.println("<head>");
        out.println("<title>HelloWorld</title>");
        out.println("</head>");
        out.println("<body bgcolor=\"white\">");
        out.println("<hr>");
        out.println("HelloWorld");
        out.println("你好!世界");
        out.println("</body></html>");
    }
    public void doPost(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
        doGet(request,response);
    }
        
}

XML代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    [url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]">
    <servlet>
        <servlet-name>HelloWorldServlet</servlet-name>
        <servlet-class>com.sh7.HelloWorldServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorldServlet</servlet-name>
        <url-pattern>hello</url-pattern>
    </servlet-mapping>
</web-app>

----------------解决方案--------------------------------------------------------
断点怎么用?我是初学,很多东西不懂……
怎样能看懂这些错误提示?有没有参考资料可以学习?
----------------解决方案--------------------------------------------------------
你需要配置....以这hello为名////
----------------解决方案--------------------------------------------------------
是我的xml文件配置错误么?
能详细说明一下么?
----------------解决方案--------------------------------------------------------
你的xml没有错
----------------解决方案--------------------------------------------------------
好像是你的服务器配置问题
----------------解决方案--------------------------------------------------------
你的url-pattern配置错了,<url-pattern>hello</url-pattern>路径必须是以/为开始的,配置成<url-pattern>/hello</url-pattern>再试试,/代表web项目的根路径
----------------解决方案--------------------------------------------------------
  相关解决方案