tomcat使用方法大全

一、安装tomcat之后

tomcat一下载,解压之后webapps目录下自带几个webapp:

  • docs文档:这是一个静态页面集,不用启动tomcat也可以阅读
  • examples样例
  • hostmanager主机管理器
  • manager应用管理器
  • ROOT根目录:这个app可以访问以上四个app,这个app是默认的app,这个app十分简单,只有一些资源文件和一个jsp页面。

安装完tomcat之后,在bin目录下启动startup.bat。在浏览器地址栏输入localhost:8080,仔细阅读首页,这个页十分重要,包罗万象,可以进入到文档,可以进入到配置......
有了文档,不需要百度,不需要从官网上下载文档doc-full.zip,仔细阅读之,一切问题在这里都能找到答案。

二、tomcat端口映射

配置iptables,把80端口转到8080
在Linux的下面部署了tomcat,为了安全我们使用非root用户进行启动,但是在域名绑定时无法直接访问80端口号。众所周知,在unix下,非root用户不能监听1024以上的端口号,这个tomcat服务器就没办法绑定在80端口下。所以这里需要使用linux的端口转发机制,把到80端口的服务请求都转到8080端口上。
在root账户下面运行一下命令:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
注意:网上朋友的命令dport 前面都是 一个 -,通常都会报错。另外如果防火墙重新启动,该命令就会失效。
可以使用下面的命令把该规则保存到iptables里面 :
service iptables save

三、tomcat修改端口号

强烈建议不要修改端口号,而是通过端口映射的方式:将80端口的请求转发到8080端口。
tomcat默认端口号为8080,http服务的默认端口号为80。在浏览器地址栏输入ip或者域名之后,如果不输入端口号,默认就是80端口。
修改tomcat目录下的conf/server.xml文件,service标签下的Connector可以有多个,再添加一个80端口的连接就可以了

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

四、设置默认应用

添加Context标签并设置docBase,需要注意在java中路径分隔符一律按照'/'来总是正确的。

<Host name="localhost"  appBase="webapps"  
           unpackWARs="true" autoDeploy="true">  
       <!-- SingleSignOn valve, share authentication between web applications  
            Documentation at: /docs/config/valve.html -->  
       <!-- 
       <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> 
       -->  
       <!-- Access log processes all example.  
            Documentation at: /docs/config/valve.html  
            Note: The pattern used is equivalent to using pattern="common" -->  
       <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
              prefix="localhost_access_log." suffix=".txt"  
              pattern="%h %l %u %t "%r" %s %b" />  
    <Context path="" docBase="D:\apache\apache-tomcat-7.0.26\webapps\OnlineExam">  
            <WatchedResource>WEB-INF/web.xml</WatchedResource>  
    </Context>  
</Host> 

实际上,上面介绍的这种方法乃是下策,上策是把webapp的名称直接改为ROOT,tomcat默认ROOT目录是默认webapp

五、tomcat远程部署

Tomcat安装成功后,在ip地址:8080上就可以看见熟悉的首页,在这个首页中,上方有一个manage app按钮,点击就可以进行应用管理了.这样就不需要使用ftp把war包传上去了.

要想远程部署,需要更改两个地方,第一个地方比较容易发现,只要点击按钮,就会跳到一页,这页内容指导我们更改TOMCAT_HOME/conf/tomcat-users.xml目录,照着来就可以了.

仍旧发现无法访问manage app,这是因为tomcat 8.5以后的版本,默认manage app这个应用不许远程访问,需要更改这个应用的配置文件,即:TOMCAT_HOME/webapps/manager/META-INF/context.xml,把这个文件中的ip地址限制那句话注释掉就可以了.

<Context antiResourceLocking="false" privileged="true" >
  <!--Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /-->
</Context>

六、Tomcat解决中文乱码问题

Tomcat默认使用的编码时ISO88591。
URLEncode是一种将byte数组转化为ASCII码字符串的方式,而byte数组转化为真正的字符串是需要编码的。
URLEncode+GBK、URLEncode+UTF8结果是不一样的。
保守点的方法:把乱码用ISO88591转换回byte数组,将byte数组用utf8进行解码。

String city = new String(request.getParameter("city").getBytes("ISO-8859-1"),"utf-8");  

彻底一点的方法:把tomcat的默认URL编码设置为UTF8。
在TOMCAT中的conf/server.xml中的Connector中添加两个设置
useBodyEncodingForURI="true" //设置POST和GET使用相同编码
URIEncoding="UTF-8" //对URI使用utf-8编码处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值