使用tomcat 部署网站

1.运行与停止

bin/目录下的startup.sh用于启动服务。其他XXXX.sh 见名知意。

图1-1 tomcat默认主页

2.指定jvm参数启动tomcat

问:有时web应用依赖的库较多,加载的类也多,它们会占用永久代空间,容易出现 tomcat permSpace outOfMemory 异常,怎么解决?

答:linux下环境变量相关知识见: http://blog.csdn.net/chuchus/article/details/42835897

startup.sh会调用catalina.sh,而后者中会用JAVA_OPTS这个环境变量,在280行左右(tomcat version:7),见图1-2

图2-1 tomcat启动脚本中涉及java_OPTS环境变量的部分

这个变量默认是空的,需要我们定。可以使用export 命令引入"-XX:MaxPermSize=256m "参数。

具体命令为:  export JAVA_OPTS=“-XX:MaxPermSize=256m”
注意等号左右不能有空格。成功后可以验证,见图2-2

图2-2 设置JVM参数启动tomcat

3.tomcat配置文件

conf/server.xml

该配置文件的第68行配置了服务端口,Tomcat的默认服务端口是8080,可以修改。如果需要让tomcat在多个端口同时提供服务,只需要复制<service>标签,并修改端口等相应参数。

阿里云服务器centos 7直接改为80也是可以的,并不需要调整防火墙。

conf/tomcat-users.xml

指定管理员角色与用户名密码,用于可视化远端管理你的webApp。例子:

  <role rolename="manager-gui"/>
  <user username="tomcatUser" password="tomcatPsd" roles="manager-gui"/>

地址为 http://host/index.jsp

图2 可视化部署应用

web应用配置文件

webapp/YOURNANE/WEB-INF/web.xml

<welcome-file-list>

此标签用来配置首页。如

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

上面的配置信息指定该web应用的首页依次是index.html、index.jsp这几个网页。

<context-param>  

这些参数在整个应用中被共享

<context-param>
           <param-name>context/param</param-name>
           <param-value>avalible during application</param-value>
</context-param>  

<servlet> 

用来配置服务端的程序,可以配置多个。

<servlet>
    <servlet-name>MainServlet</servlet-name>
    <servlet-class>com.wes.controller.MainServlet</servlet-class>
    <init-param>       //写在配置中的一些参数,仅这个servlet可以访问
       <param-name>param1</param-name>
       <param-value>avalible in servlet init()</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>  //启动次序,1表示最先
</servlet>  

读取context-param与servlet-param的代码

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class MainServlet extends HttpServlet{
    public void init() throws ServletException ...{
         System.out.println("下面参数param1是在servlet中存放的");
         System.out.println(this.getInitParameter("param1"));
         System.out.println("下面的参数是存放在servletcontext中的");
        System.out.println(getServletContext().getInitParameter("contextParam123"));
      }
}  

<filter>

用来过滤,接受请求时过滤后送给servlet,将servlet返回结果再过滤一次返回给用户。

	<filter>
		<filter-name>WebServiceFilter</filter-name>
		<filter-class>com.likeyichu.webservice.filter.WebServiceFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>WebServiceFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

不同标签之间的次序
有时eclipse会对web.xml文件报错,如图:

图3 web.xml中的标签次序

很可能的原因就是标签之间的次序不对,按照它提示的次序放标签就可以了。

最简单的网页部署

在 webapps\下放一个文件夹A,里面有B.html  那么重新启动tomcat后,输入 http://ip:port/A/B.html即可访问。

网页放到\webapps\ROOT\目录下,效果就是http://ip:port/xx.html这种URL路径。
换html网页时不需要重启Tomcat服务。

Jsp/Servlet部署

假设你的webapp名称为qing,那么部署目录结构见下图:

图4  web应用目录结构

若干个jsp文件放在qing\目录下即可。

jsp文件用到了其他java依赖类,需要放在lib\或classes\目录中。

classes目录下放的是后缀为.class的文件,类com.likeyichu.A的class文件就应该在classes\com\likeyichu\A.class位置。
lib目录也是用来存放用到的java类的,要放在这里的是.jar文件。

对于javaWeb而言,WEB-INF是一个特殊的文件夹,Web容器会包含该文件夹下的内容,但客户端浏览器无法访问WEB-INF路径下的任何内容。
web.xml位于WEB-INF文件夹内,

时间: 2024-11-28 22:21:56

使用tomcat 部署网站的相关文章

Tomcat部署项目修改浏览器上猫咪头像

一.发现问题 用tomcat部署项目,在浏览器标签也上发现了tomcat猫咪图.要把这个图修改掉.  二.解决问题 apache-tomcat-5.5.28\webapps\ROOT下的ico文件,将需要替换的图片也命名为favicon.ico即可.若效果没有立即显现,可清除浏览器的浏览记录.  三.注意事项 1.若需要改变某个页面的logo,在该页面的head标签中加入标签名link,具体如何写见下面的网站. 2.图标制作网站:http://www.bitbug.net/

网页制作-JSP tomcat建立网站的应用问题

问题描述 JSP tomcat建立网站的应用问题 tomcat已成功启动 但是网页却打不开 问题出在哪里 跪求各位大神帮忙 解决方案 你的应用部署到tomcate中了吗?是不是你的应用配置有问题,还是工程代码有问题? 解决方案二: tomcat 7 JSP无法编译问题的解决---------------------- 解决方案三: 应用放到tomcat的webapp中,然后访问路径别打错了就ok

apace-ubuntu+django+mod_wsgi+apache部署网站,报下面的错误

问题描述 ubuntu+django+mod_wsgi+apache部署网站,报下面的错误 [Tue Jul 08 16:07:47.983174 2014] [mpm_event:notice] [pid 5054:tid 140062636054400] AH00491: caught SIGTERM, shutting down [Tue Jul 08 16:07:49.046666 2014] [mpm_event:notice] [pid 5211:tid 13988251035020

tomcat部署简单项目后无法启动ps刚学

问题描述 tomcat部署简单项目后无法启动ps刚学 我的tomcat没部署东西是可以启动的,但是在server上部署东西,在host下加Context就启动出错了 解决方案 tomcat服务器里的配置文件不要随意改它!否则会出现一些你意想不到的错误! 解决方案二: 那是你加的项目哪里有错--导致神秘报错--有异常信息么-贴出来 解决方案三: 楼主是不是要配置一条虚拟路径,就是项目不放在tomcat的webapp里也能启动?首先要保证路径正确,其次项目必须严格按照tomcat的格式,必须要有We

jsp-weblogic启动报错,在tomcat部署没问题

问题描述 weblogic启动报错,在tomcat部署没问题 但是我本地没有把axis2 war包里的jsp复制到项目中去,只是复制了war包里web-inf下的配置文件并和spring集成. 到了weblogic就出问题了 解决方案 Weblogic启动报错Tomcat部署项目时启动报错总结weblogic 部署ejb报错 解决方案二: weblogic要比tomcat严格 报错信息粘出来看看

java-3DES JAVA实现。IDE中正常运行,jetty部署报错。tomcat部署却又能正常运行

问题描述 3DES JAVA实现.IDE中正常运行,jetty部署报错.tomcat部署却又能正常运行 都是在本机部署,使用相同的jdk 1.6.错误如下:java.security.NoSuchAlgorithmException: Cannot find any provider supporting DESede at javax.crypto.Cipher.getInstance(DashoA13*..) 该问题不知如何解决.... 望高人指点,感激涕零,不胜荣幸. 解决方案 ... .

tomcat 404-为什么tomcat部署上,但是加载项目就是404,这是加载的日志

问题描述 为什么tomcat部署上,但是加载项目就是404,这是加载的日志 2015-7-13 22:30:31 org.apache.catalina.core.AprLifecycleListener init 信息: Loaded APR based Apache Tomcat Native library 1.1.20. 2015-7-13 22:30:31 org.apache.catalina.core.AprLifecycleListener init 信息: APR capabi

iis7-win7 iis 部署网站报错

问题描述 win7 iis 部署网站报错 我在win2003部署没有错,在win7上部署就出错了.. 报错内容是:在唯一密钥属性"name"设置为"InitApplicationModule"时,无法添加类型为"add"的重复集合项 <httpModules> <add name="InitApplicationModule"type="asc.Apd.Base.InitApplicationMod

c#-部署网站到IIS上面,实例化excel的时候报500错误,本地不会

问题描述 部署网站到IIS上面,实例化excel的时候报500错误,本地不会 求解决,本地调试没有问题,发布到IIS之后,每次实例化EXCEL的时候就报500错误,本地不会,OFFICE版本是2010