2014-01-07 3 views
0

У меня есть веб-проект, который уже работает на смоле, но я хочу, чтобы развернуть весь проект в TOMCAT сервере (то есть, я хочу перенести сервер)Как перейти на веб-проект работает на сервере смолы с котом

Я думаю, что только web.xml должен быть изменен таким образом, я попытался следующие изменения

у меня есть web.xml в смоле, как

<?xml version="1.0" encoding="UTF-8"?> 

<web-app xmlns:resin="urn:java:com.caucho.resin" 
     xmlns:gemini="urn:java:com.techempower.gemini"> 
    <multipart-form enable="true" upload-max="50M" /> 

    <!-- These lines will force assets to be served be resin --> 
    <servlet-mapping url-pattern="/css/*" servlet-name="resin-file" /> 
    <servlet-mapping url-pattern="/js/*" servlet-name="resin-file" /> 
    <servlet-mapping url-pattern="/images/*" servlet-name="resin-file" /> 
    <servlet-mapping url-pattern="/html/*" servlet-name="resin-file" /> 
    <servlet-mapping url-pattern="favicon.ico" servlet-name="resin-file" /> 

    <servlet-mapping url-pattern="/content/*" servlet-name="resin-file" /> 

    <!-- Assets located in "/static/" are files that should be cached forever, by 
     convention. --> 
    <servlet-mapping url-pattern="/static/*" servlet-name="resin-file" /> 
    <resin:Forward regexp="^/static/([\d|-]+)/(css|js|images|html)/(.*)$" target="/$2/$3"> 
    <gemini:filter.ExpiresFilter> 
     <expirationDelta>31556926000</expirationDelta> 
    </gemini:filter.ExpiresFilter> 
    </resin:Forward> 

    <!-- Disallow Resin 4 from compiling PHP or JSP pages directly. --> 
    <mime-mapping extension=".php" mime-type="text/plain" /> 
    <mime-mapping extension=".jsp" mime-type="text/plain" /> 
    <mime-mapping extension=".jspf" mime-type="text/plain" /> 
    <mime-mapping extension=".jspx" mime-type="text/plain" /> 
    <servlet-mapping url-pattern="*.php" servlet-name="resin-file" /> 
    <servlet-mapping url-pattern="*.jsp" servlet-name="resin-file" /> 
    <servlet-mapping url-pattern="*.jspf" servlet-name="resin-file" /> 
    <servlet-mapping url-pattern="*.jspx" servlet-name="resin-file" /> 
    <servlet-mapping url-pattern="/WEB-INF/*.jsp" servlet-name="resin-jsp" /> 
    <servlet-mapping url-pattern="/WEB-INF/*.jspf" servlet-name="resin-jsp" /> 
    <servlet-mapping url-pattern="/WEB-INF/*.jspx" servlet-name="resin-jspx" /> 

    <!-- Disallow URL rewriting for sessions.--> 
    <session-config enable-url-rewriting="false" /> 

    <!-- Use UTF-8 for everything. --> 
    <character-encoding>UTF-8</character-encoding> 

    <!-- Uncomment and modify the directives below to enable network 
     configuration, wherein each application instance contacts the 
     cluster master to receive its configuration. --> 


    <!-- Enable GZIP compression. --> 
    <filter filter-name="gzip" filter-class="com.caucho.filters.GzipFilter"> 
    <init> 
     <use-vary>true</use-vary> 
    </init> 
    </filter> 
    <filter-mapping url-pattern='*' filter-name="gzip" /> 


    <listener> 
     <display-name>Cron Job Scheduler Manager</display-name> 
     <listener-class>com.leonardo.email.CronJobHandler</listener-class> 
    </listener> 

    <servlet> 
     <servlet-name>PrintActionItems</servlet-name> 
     <servlet-class>com.leonardo.PrintActionItems</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>PrintActionItems</servlet-name> 
     <url-pattern>/PrintActionItems</url-pattern> 
    </servlet-mapping> 

    <servlet> 
     <servlet-name>DeleteActionItemFile</servlet-name> 
     <servlet-class>com.leonardo.DeleteActionItemFile</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>DeleteActionItemFile</servlet-name> 
     <url-pattern>/DeleteActionItemFile</url-pattern> 
    </servlet-mapping> 


</web-app> 

Я хочу изменить эту web.xml в соответствии с Tomcat

Я изменил его, как показано ниже:

<?xml version="1.0" encoding="UTF-8"?> 

<web-app xmlns:resin="urn:java:com.caucho.resin" 
     xmlns:gemini="urn:java:com.techempower.gemini"> 
    <multipart-form enable="true" upload-max="50M" /> 

<servlet-mapping> 
    <servlet-name>default</servlet-name><url-pattern>/css/*</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>default</servlet-name><url-pattern>/js/*</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>default</servlet-name><url-pattern>/html/*</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>default</servlet-name><url-pattern>/images/*</url-pattern> 
</servlet-mapping> 


    <servlet-mapping> 
    <servlet-name>default</servlet-name><url-pattern>/static/*</url-pattern> 
</servlet-mapping> 


<servlet-mapping> 
    <servlet-name>default</servlet-name><url-pattern>*.php</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>default</servlet-name><url-pattern>*.jsp</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>default</servlet-name><url-pattern>*.jspf</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>default</servlet-name><url-pattern>*.jspx</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>default</servlet-name><url-pattern>/WEB-INF/*</url-pattern> 
</servlet-mapping> 


    <!-- Disallow URL rewriting for sessions.--> 
    <session-config enable-url-rewriting="false" /> 

    <!-- Use UTF-8 for everything. --> 
    <character-encoding>UTF-8</character-encoding> 


    <!-- Enable GZIP compression. --> 
    <filter filter-name="gzip" filter-class="com.caucho.filters.GzipFilter"> 
    <init> 
     <use-vary>true</use-vary> 
    </init> 
    </filter> 

    <listener> 
     <display-name>Cron Job Scheduler Manager</display-name> 
     <listener-class>com.leonardo.email.CronJobHandler</listener-class> 
    </listener> 

    <servlet> 
     <servlet-name>PrintActionItems</servlet-name> 
     <servlet-class>com.leonardo.PrintActionItems</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>PrintActionItems</servlet-name> 
     <url-pattern>/PrintActionItems</url-pattern> 
    </servlet-mapping> 

    <servlet> 
     <servlet-name>DeleteActionItemFile</servlet-name> 
     <servlet-class>com.leonardo.DeleteActionItemFile</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>DeleteActionItemFile</servlet-name> 
     <url-pattern>/DeleteActionItemFile</url-pattern> 
    </servlet-mapping> 

</web-app> 

Но, во время работы он дает кота следующие ошибки

org.apache.tomcat.util.modeler.Registry registerComponent 
SEVERE: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/, 
J2EEApplication=none,J2EEServer=none 
org.apache.catalina.startup.HostConfig deployDirectory 
SEVERE: Error deploying web application directory ROOT 
java.lang.NullPointerException 

Является ли это правильный путь для миграции на сервер Tomcat?
Если это так, то только web.xml необходимо изменить? то что должно содержать в web.xml tomcat?

Пожалуйста, советы Благодарности

+0

Вопрос: почему вы переключились на Tomcat? Просто любопытно ... – zmirc

+0

Я бегу смоляной сервер на centos несколько раз он ведет себя по-другому Так что я хочу переключиться на tomcat – ask4solutions

+0

Что значит иначе? Я бы очень хотел получить более подробную информацию. – zmirc

ответ

0

В Tomcat есть web.xml в каталоге конф, но вам не нужно, чтобы изменить его, если вы только развертывания приложения. По умолчанию conf/web.xml уже настроен для выполнения JSP/сервлетов.

Большинство веб-приложений следует за Servlet JSR и может работать на любом контейнере Java, таком как Jetty, Resin или Tomcat и т. Д., Вам не нужно изменять проект.

Если вы поместите файл WAR или ваш проект в каталог webapps, он будет развернут при запуске. Вы можете использовать ROOT, но я использую отдельные пути для своих приложений. URL-адрес будет выглядеть так: http://localhost:8080/mywebapp/

+0

Я забыл упомянуть, что хочу изменить web.xml веб-проекта ie, webapps \ ROOT \ WEB-INF \ web.xml Проект web.xml всегда переопределяет сервер conf/web.xml, поэтому его нет и нет. для изменения серверов conf/web.xml – ask4solutions

+0

Но я хочу проецировать web.xml так, чтобы он работал на Tomcat Примечание: у меня нет ROOT.war. Я всегда копирую папку ROOT в папку webapps сервера – ask4solutions