Tomcat已启动,但应用程序未运行

时间:2014-11-20 06:31:35

标签: spring tomcat server

我创建了一个spring应用程序并将其部署在tomcat服务器(Tomcat v5.5 Server)中。我检查了tomcat管理器,发现我的应用程序已列出。但是当我尝试运行我的应用程序时,我正在显示一个页面

**此程序无法显示网页

最有可能的原因: 您未连接到Internet。 该网站遇到了问题。 地址中可能存在输入错误。

你可以尝试什么:      检查您的Internet连接。尝试访问其他网站以确保您已连接。

重新输入地址。**

我不知道我错过了哪里。请帮我解决这个问题。

我的web.xml文件如下

<?xml version="1.0"?>
<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 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     <context-param>
    <description>Log4j configuration file used by spring to initialize logging</description>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:pricingLog4j.properties</param-value>
 </context-param>
 <context-param>
  <description>By default myfaces serializes the current view and saves it in session after view is rendered.
        In Pricing UI, values on the Page tags are bound to UIComponents on backing bean using "binding" attribute. Most of the components are created
        in the backing bean. When myfces serializes, it serializes the wrapped object under UIComponents, i.e HtmlDataTabl's value attribute, which are in Pricing UI case
        business objects which have a big graphs attached to it and you start getting "serialization" error

        Keep this pram-value to false to avoid serialization.</description>
  <param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>
  <param-value>false</param-value>
 </context-param>
 <context-param>
  <description>Comma separated list of URIs of (additional) faces config
            files. (e.g. /WEB-INF/my-config.xml) See JSF 1.0 PRD2,
            10.3.2. 
            DONOT ADD DEFAULT faces-config.xml HERE. IT IS AUTOMATICALLY LOADED BY FACES. IF GIVEN HERE, IT WILL BE LOADED TWICE</description>
  <param-name>javax.faces.CONFIG_FILES</param-name>
  <param-value>/WEB-INF/faces-navigation.xml</param-value>
 </context-param>
 <context-param>
  <param-name>facelets.LIBRARIES</param-name>
  <param-value>
            /WEB-INF/taglib/tomahawk-taglib.xml;
            /WEB-INF/taglib/tomahawk-sandbox-taglib.xml;
            /WEB-INF/taglib/jcp-pricing-ui-taglib.xml;
            /WEB-INF/taglib/acegijsf-taglib.xml
  </param-value>
 </context-param>
 <context-param>
  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  <param-value>.xhtml</param-value>
 </context-param>
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
            classpath:/config/pricingEngineContext-caching.xml
            classpath:/config/pricingEngineContext-messaging.xml
            classpath:/config/pricingEngineContext-service.xml
            classpath:/config/pricingEngineContext.xml
            classpath:/config/pricingWebApplicationContext.xml
            classpath:/config/securityContext.xml</param-value>
 </context-param>
 <context-param>
  <description>State saving method: "client" or "server" (= default) See
            JSF Specification 2.5.2</description>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>server</param-value>
 </context-param>
 <context-param>
  <description>This parameter tells MyFaces if javascript code should be
            allowed in the rendered HTML output. If javascript is
            allowed, command_link anchors will have javascript code that
            submits the corresponding form. If javascript is not
            allowed, the state saving info and nested parameters will be
            added as url parameters. Default: "true"</description>
  <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
  <param-value>true</param-value>
 </context-param>
 <context-param>
  <description>If true, rendered HTML code will be formatted, so that it is
            "human readable". i.e. additional line separators and
            whitespace will be written, that do not influence the HTML
            code. Default: "true"</description>
  <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
  <param-value>true</param-value>
 </context-param>
 <context-param>
  <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
  <param-value>false</param-value>
 </context-param>
 <context-param>
  <description>If true, a javascript function will be rendered that is able
            to restore the former vertical scroll on every request.
            Convenient feature if you have pages with long lists and you
            do not want the browser page to always jump to the top if
            you trigger a link or button action that stays on the same
            page. Default: "false"</description>
  <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
  <param-value>true</param-value>
 </context-param>
 <!-- Special Debug Output for Development -->
 <context-param>
  <param-name>facelets.DEVELOPMENT</param-name>
  <param-value>true</param-value>
 </context-param>
 <context-param>
  <param-name>facelets.REFRESH_PERIOD</param-name>
  <param-value>2</param-value>
 </context-param>
 <context-param> 
  <param-name>org.ajax4jsf.SKIN</param-name> 
  <param-value>DEFAULT</param-value> 
 </context-param> 
 <filter>
  <filter-name>Acegi Channel Processing Filter</filter-name>
  <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
  <init-param>
   <param-name>targetClass</param-name>
   <param-value>org.acegisecurity.securechannel.ChannelProcessingFilter</param-value>
  </init-param>
 </filter>

 <filter>
  <filter-name>Acegi Filter Chain Proxy</filter-name>
  <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
  <init-param>
   <param-name>targetClass</param-name>
   <param-value>org.acegisecurity.util.FilterChainProxy</param-value>
  </init-param>
 </filter>
 <!-- Spring Open Session In View Pattern filter -->
 <filter>
  <filter-name>hibernateFilter</filter-name>
  <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
  <init-param>
   <param-name>sessionFactoryBeanName</param-name>
   <param-value>sessionFactory</param-value>
  </init-param>
 </filter>
 <!-- Extensions Filter -->
 <filter>
  <description>Set the size limit for uploaded files. Format: 10 - 10 bytes
            10k - 10 KB 10m - 10 MB 1g - 1 GB</description>
  <filter-name>extensionsFilter</filter-name>
  <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
  <init-param>
   <param-name>uploadMaxFileSize</param-name>
   <param-value>100m</param-value>
  </init-param>
  <init-param>
   <description>Set the threshold size - files below this limit are
                stored in memory, files above this limit are stored on
                disk.

                Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB</description>
   <param-name>uploadThresholdSize</param-name>
   <param-value>100k</param-value>
  </init-param>
  <init-param>
   <description>Set the path where the intermediary files will be
                stored.</description>
   <param-name>uploadRepositoryPath</param-name>
   <param-value>/tmp</param-value>
  </init-param>
 </filter>
 <filter>
  <filter-name>orchestraFilter</filter-name>
  <filter-class>org.apache.myfaces.orchestra.conversation.jsf.filter.OrchestraServletFilter</filter-class>
 </filter>
 <filter>
  <filter-name>promotionFilter</filter-name>
  <filter-class>com.jcpenney.web.servlet.PromotionFilter</filter-class>
 </filter>
 <filter> 
  <display-name>Ajax4jsf Filter</display-name> 
  <filter-name>ajax4jsf</filter-name> 
  <filter-class>org.ajax4jsf.Filter</filter-class> 
 </filter> 
 <filter-mapping>
  <filter-name>Acegi Channel Processing Filter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>Acegi Filter Chain Proxy</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>REQUEST</dispatcher>
 </filter-mapping>
 <filter-mapping>
  <filter-name>orchestraFilter</filter-name>
  <url-pattern>*.faces</url-pattern>
 </filter-mapping>
 <!-- Spring/Hibernate filter mappings -->
 <filter-mapping>
  <filter-name>hibernateFilter</filter-name>
  <url-pattern>*.faces</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>hibernateFilter</filter-name>
  <url-pattern>*.remoting</url-pattern>
 </filter-mapping>
 <!-- Filter Mappings necessary to run myfaces -->
 <filter-mapping>
  <filter-name>extensionsFilter</filter-name>
  <url-pattern>/faces/*</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>extensionsFilter</filter-name>
  <url-pattern>*.faces</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>promotionFilter</filter-name>
  <url-pattern>*.faces</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>ajax4jsf</filter-name> 
  <servlet-name>Faces Servlet</servlet-name>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>INCLUDE</dispatcher>
 </filter-mapping>
 <listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
 </listener>
<!-- Myfaces JSF Listener, that does all the startup work (configuration, init). -->
 <listener>
  <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
 </listener>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <listener>
  <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
 </listener>
 <listener>
  <listener-class>org.apache.myfaces.orchestra.conversation.servlet.ConversationManagerSessionListener</listener-class>
 </listener>
 <listener>
  <listener-class>com.jcpenney.pricing.web.listeners.SessionLoggingListener</listener-class>
 </listener>

 <listener>
  <listener-class>com.jcpenney.pricing.audit.LogoutLogger</listener-class>
 </listener>

 <servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <!-- This servlet is needed to workaround a websphere bug (http://issues.apache.org/jira/browse/TOMAHAWK-663)
    Another workaround is on Websphere set com.ibm.ws.webcontainer.invokefilterscompatibility=true as container 
    property, but that is one more step for server configuration team
 -->
 <servlet>
  <servlet-name>Tomahawk-663 Websphere Workaround Servlet</servlet-name>
  <servlet-class>com.jcpenney.web.Tomahawk663Servlet</servlet-class>
 </servlet> 
 <servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  <init-param>
     <param-name>debug</param-name>
     <param-value>false</param-value>
  </init-param>
 </servlet> 
 <!-- Mapping for MyFaces components -->
 <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.faces</url-pattern>
 </servlet-mapping>
 <!-- This mapping is needed to back the MyFaces Extention Filter to workaround a websphere bug -->
 <servlet-mapping>
  <servlet-name>Tomahawk-663 Websphere Workaround Servlet</servlet-name>
  <url-pattern>/faces/*</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>dwr-invoker</servlet-name>
  <url-pattern>/dwr/*</url-pattern>
 </servlet-mapping>

    <!-- pricingUi Monitoring Simple Spring Servlet-->
    <servlet>
        <servlet-name>pricingUi-monitoring</servlet-name>
        <servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>
        <load-on-startup>3</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>pricingUi-monitoring</servlet-name>
        <url-pattern>/ping</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>pricingUi-monitoring</servlet-name>
        <url-pattern>/services/ping</url-pattern>
    </servlet-mapping> 


    <!-- Spring Message Dispatcher Servlet for WebServices Call -->
    <servlet>
        <servlet-name>pricingEngine</servlet-name>
        <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
        <init-param>
            <param-name>transformWsdlLocations</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:config/pricingEngineContext-webservice.xml</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>sale-price-upload</servlet-name>
        <servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>sale-price-upload</servlet-name>
        <url-pattern>/services/salePriceFileUpload</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>pricingEngine</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping> 

    <servlet-mapping>
        <servlet-name>pricingEngine</servlet-name>
        <url-pattern>*.wsdl</url-pattern>
    </servlet-mapping>

 <!-- Session Configuration -->
 <session-config>
  <!-- the time until the session expires in min (60min)-->
  <session-timeout>60</session-timeout>
 </session-config>
 <!-- Welcome files -->
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
 </welcome-file-list>
 <login-config>
  <auth-method>BASIC</auth-method>
 </login-config>

</web-app>

1 个答案:

答案 0 :(得分:0)

我无法在问题中看到为此错误生成的确切日志消息。信息不足。

也没有提到您如何构建应用程序以及应用程序构建是否成功。我假设构建成功。

对于变通方法建议,如果您在应用程序中使用pom.xml并构建maven,请查看应用程序的<source><target>吗?

<source>1.8</source> 
<target>1.8</target>

如果你的pom中提到的java版本与系统的java版本不匹配,则可能会出现错误。也就是说,您的服务器可能会启动,但您的应用程序可能不会。

您还可以使用以下命令检查系统的java版本:

java -version
javac -version

两个版本都应该匹配。如果您发现任何差异,请更改必要并重新构建应用程序并重新启动服务器。