3

我为我的客户制作了一个小型静态网站,现在他们希望我用静态网站替换他们目前的动态网站。他们在远程位置安装了带有 SSH 的 Ubuntu。他们现有的网站在 Tomcat6 服务器上运行,站点根目录位于“/var/lib/tomcat6/webapps/ROOT/”中。

我的网站仅包含静态 HTML 页面。如何用我制作的网站重新配置/替换当前网站?我应该停止服务器并用我的文件替换站点根目录中的文件吗?

添加更新的 web.xml:

<web-app 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"
   version="2.5">

  <display-name>Welcome to OneLearn</display-name>
  <description>
     Welcome to OneLearn
  </description>
  <session-config>
    <session-timeout>60</session-timeout>
  </session-config>


<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>

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


<servlet>
<servlet-name>linegraph</servlet-name>
<servlet-class>com.FlexiApps.graphs.LineGraphServlet</servlet-class>
</servlet>

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

<servlet>
<servlet-name>piechart</servlet-name>
<servlet-class>com.FlexiApps.graphs.PiechartServlet</servlet-class>
</servlet>

<servlet-mapping>
ssawqfxz<servlet-name>piechart</servlet-name>
<url-pattern>/piechart</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>welcome</servlet-name>
    <servlet-class>com.FlexiApps.utils.welcome</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>welcome</servlet-name>
    <url-pattern>/welcome</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>*.jpg</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.png</url-pattern>
</servlet-mapping>

<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>

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

<jsp-config>
  <taglib>
    <taglib-uri>http://jakarta.apache.org/taglibs/log-1.0</taglib-uri>
    <taglib-location>/WEB-INF/lib/taglibs-log.tld</taglib-location>
  </taglib>
</jsp-config>

      <listener>
  <listener-class>
    org.apache.commons.fileupload.servlet.FileCleanerCleanup
  </listener-class>
</listener>


</web-app>

即使在添加了欢迎文件并添加了建议的 servlet 映射之后,tomcat 似乎也没有检测到任何添加到 ROOT 文件夹的新文件。

4

3 回答 3

2

我找到了解决我的问题的方法:

  1. 我在 Windows 的 Eclipse 上安装了 Tomcat6。
  2. 我创建了一个动态 Web 项目。
  3. 将我所有的静态内容放在 WebContent 文件夹中。
  4. 运行服务器以验证一切正常。
  5. 从项目中导出 WAR 文件,选中“针对特定服务器运行时优化”选项,运行时为“Apache Tomcat v6.0”。
  6. 我清理了 ftp linux 服务器上的 /var/lib/tomcat6/webapps/ROOT 文件夹,并将所有其他设置重置为默认值。
  7. 在 ROOT 文件夹中提取 WAR 文件。
  8. 使用: /etc/init.d/tomcat6 restart 重新启动tomcat6
  9. 我可以在“http://myIP:8080/”下成功看到我的静态网站
  10. 我希望tomcat6 在没有这个端口号的情况下工作。以下链接非常有用:http ://bhou.wordpress.com/2012/03/09/how-to-install-and-configure-tomcat-6-in-ubuntu-server/
  11. 通过输入“http://myIP/”可以导航到我的静态网站

Eclipse 生成的 web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>StaticWebsite</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>
于 2012-06-06T10:41:51.237 回答
0

如果它是服务器上运行的唯一站点,最简单的方法是如前所述将文件复制到相同位置并使用与其起始站点相同的名称命名起始站点,在这种情况下,您不需要更改配置。否则请查看此链接:Tomcat 6: How to change the ROOT application

编辑从这里):

默认 Tomcat 主页的内容来自名为 org.apache.jsp.index_jsp 的 ROOT webapp servlet。您在 $CATALINA_HOME/webapps/ROOT/index.jsp 中看到的页面已被预编译为一个类文件 (org.apache.jsp.index_jsp.class),该类文件存储在 ROOT webapp 的 JAR 文件 (catalina-root.jar) 中WEB-INF/lib 目录。由于这个 servlet,如果您更改它,Tomcat 将不会查看 ROOT Web 应用程序的 index.jsp 文件的内容。

更改 index.jsp 页面内容的最简单方法是从 ROOT webapp 中删除这个 index_jsp servlet。删除 index_jsp servlet 并重新启动 Tomcat 后,Tomcat 将在 ROOT 目录中看到 index.jsp 文件并将其即时编译为类文件。您现在可以编辑 ROOT/index.jsp 文件并通过重新加载“ http://localhost:8080/ ”页面使这些更改立即生效。

于 2012-06-05T04:43:38.517 回答
0

http://www.java-only.com/LoadTutorial.javaonly?id=26

这个博客似乎提供了关于使用 tomcat 提供静态内容的分步说明。

于 2012-06-05T04:46:11.607 回答