Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等

Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等

文章目录

  • Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等
  • 前言
  • 一、JDK安装
  • 二、tomcat
    • 1.安装
    • 2.tomcat目录结构
    • 3.tomcat启动
    • 4.tomcat web管理功能
    • 5.tomcat配置文件
    • 6.tomcat web站点部署
    • 7.tomcat虚拟主机
    • 8.动静分离
      • jk
  • 总结


前言

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

Tomcat和Nginx、Apache(httpd)、lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器。


一、JDK安装

tomcat依赖于JDK工具包,JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
官网下载地址https://www.oracle.com/java/technologies/downloads/archive/
Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第1张图片
直接安装即可,如果使用压缩包安装则需要自己配置环境变量

# 解压安装JDK
mkdir -p /usr/java
tar xf jdk-8u60-linux-x64.tar.gz -C /usr/java
# 配置环境变量
vim /etc/profile.d/java.sh
JAVA_HOME=/usr/java/jdk1.8.0_60
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOMECLASSPATHPATH
# 测试
source /etc/profile.d/java.sh
java -version

Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第2张图片

二、tomcat

1.安装

tomcat官网地址:https://dlcdn.apache.org/tomcat/tomcat-8

[root@localhost ~]# wget -c https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.84/bin/apache-tomcat-8.5.84.tar.gz
[root@localhost ~]# ls
anaconda-ks.cfg  apache-tomcat-8.5.84.tar.gz  jdk-8u144-linux-x64.rpm
# 下载好后解压到/usr/local目录下
# tomcat解压就能使用
[root@localhost ~]# tar xf apache-tomcat-8.5.84.tar.gz -C /usr/local/
[root@localhost ~]# ls /usr/local/
apache-tomcat-8.5.84  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
# 建立一个软连接
[root@localhost ~]# ln -sv /usr/local/apache-tomcat-8.5.84/ /usr/local/tomcat/usr/local/tomcat’ -> ‘/usr/local/apache-tomcat-8.5.84/’

软链接的好处:
1、减少输入
2、方便升级

2.tomcat目录结构

目录及其功能:

[root@localhost ~]# cd /usr/local/tomcat/
[root@localhost tomcat]# tree -L 1
.
├── bin	# 存放tomcat管理脚本,二进制文件
├── BUILDING.txt 
├── conf # tomcat配置文件存放目录
├── CONTRIBUTING.md
├── lib # web应用调用的jar包存放路径
├── LICENSE
├── logs # tomcat日志存放目录,catalina.out 为主要输出日志
├── NOTICE
├── README.md
├── RELEASE-NOTES
├── RUNNING.txt
├── temp # 存放临时文件
├── webapps # web程序存放目录
└── work # 存放编译产生的.java和.class文件

7 directories, 7 files
[root@localhost tomcat]# tree -L 1  /usr/local/tomcat/webapps/
/usr/local/tomcat/webapps/
├── docs # tomcat 帮助文档
├── examples # web应用实例
├── host-manager # 主机管理
├── manager # 管理
└── ROOT # 默认站点根目录

5 directories, 0 files
[root@localhost tomcat]# tree -L 1 /usr/local/tomcat/conf
/usr/local/tomcat/conf
├── catalina.policy
├── catalina.properties
├── context.xml
├── jaspic-providers.xml
├── jaspic-providers.xsd
├── logging.properties
├── server.xml # tomcat主配置文件
├── tomcat-users.xml # tomcat管理用户配置文件
├── tomcat-users.xsd
└── web.xml

0 directories, 10 files

3.tomcat启动

启动程序

[root@localhost tomcat]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
# 查看服务是否启动成功
# 查看进程
[root@localhost tomcat]# ps -ef | grep java
root       6752      1  3 14:51 pts/0    00:00:05 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       6928   1445  0 14:53 pts/0    00:00:00 grep --color=auto java
# 可查看端口8080是否开启
[root@localhost tomcat]# netstat -lnupt | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      6752/java           

浏览器使用IP加端口即可访问默认主页
启动脚本

[root@localhost tomcat]# vi /usr/lib/systemd/system/tomcat.service

[Unit]
Description=Tomcat
After=network.target


[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true


[Install]
WantedBy=multi-user.target
# 保存后测试
[root@localhost tomcat]# systemctl daemon-reload
[root@localhost tomcat]# /usr/local/tomcat/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@localhost tomcat]# ps -ef | grep java
root       7740   1445  0 15:07 pts/0    00:00:00 grep --color=auto java
[root@localhost tomcat]# systemctl start tomcat
[root@localhost tomcat]# ps -ef | grep java
root       7769      1 99 15:07 ?        00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       7786   1445  0 15:07 pts/0    00:00:00 grep --color=auto java
[root@localhost tomcat]# systemctl stop tomcat
[root@localhost tomcat]# ps -ef | grep java
root       7846   1445  0 15:08 pts/0    00:00:00 grep --color=auto java

Tomcat日志–解决启动慢
发现耗时在这里:是session引起的随机数问题导致的。Tocmat的Session ID是通过SHA1算法计算得到的,计算Session ID的时候必须有一个密钥。为了提高安全性Tomcat在启动的时候会通过随机生成一个密钥。
查看是否有足够的熵来用于产生随机数

[root@localhost ~]# cat /proc/sys/kernel/random/entropy_avail 
282

推荐解决方法:

yum install rng-tools -y # 安装rngd服务(熵服务,增大熵池)
systemctl start rngd # 启动服务
systemctl enable rngd # 开机自启
[root@localhost~]# systemctl enable --now rngd
[root@localhost~]# cat /proc/sys/kernel/random/entropy_avail
2980

4.tomcat web管理功能

注意:不要在生产环境使用 ! ! !
Tomcat管理功能用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。在默认情况下是处于禁用状态的。如果需要开启这个功能,就需要配置管理用户。
Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第3张图片
报403错误,无法使用
Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第4张图片

1、配置tomcat-users.xml文件

[root@localhost conf]# vim /usr/local/tomcat/conf/tomcat-users.xml
"admin-gui"/>
"admin-script"/>
"manager-gui"/>
"manager-jmx"/>
"manager-script"/>
"manager-status"/>
"tomcat" password="tomcat" roles="admin-gui,manager-gui,managerjmx,manager-script,manager-status,admin-script"/>
</tomcat-users> #前面加上以上几行,注意,此句在文本末尾,且不要添加到注释里面去。

注意:不要在生产环境使用 ! ! !
2、允许访问Manager App

[root@localhost ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
"org.apache.catalina.valves.RemoteAddrValve"
       allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
       allow="^.*"/>#修改网段范围

3、允许访问Host Manager

[root@localhost ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml
"org.apache.catalina.valves.RemoteAddrValve"
       allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
       allow="^.*"/>#修改网段范围

修改完成后,重启tomcat;
登录即可(用户名密码都为tomcat)
Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第5张图片
注意:不要在生产环境使用 ! ! !

5.tomcat配置文件

server.xml组件类别:
顶级组件:位于整个配置的顶层,如server。
容器类组件:可以包含其它组件的组件,如service、engine、host、context。
连接器组件:连接用户请求至tomcat,如connector。
被嵌套类组件:位于一个容器当中,不能包含其他组件,如Valve、logger。

server.xml组件介绍:
engine:核心容器组件,catalina引擎,负责通过connector接收用户请求,并处理请求,将请求转至对应的虚拟主机host。
host:类似于httpd中的虚拟主机,一般而言支持基于FQDN的虚拟主机。
context:定义一个应用程序,是一个最内层的容器类组件(不能再嵌套)。配置context的主要目的指定对应对的webapp的根目录,类似于httpd的alias,其还能为webapp指定额外的属性,如部署方式等。
connector:接收用户请求,类似于httpd的listen配置监听端口的。
service(服务):将connector关联至engine,因此一个service内部可以有多个connector, 但只能有一个引擎engine。service内部有两个connector,一个 engine。因此,一般情况下一个server内部只有一个service,一个service内部只有一个engine,但一个 service内部可以有多个connector。
server:表示一个运行于JVM中的tomcat实例。
Valve:阀门,拦截请求并在将其转至对应的webapp前进行某种处理操作,可以用于任 何容器中,比如记录日志(access log valve)、基于IP做访问控制(remote address filter valve)。
logger:日志记录器,用于记录组件内部的状态信息,可以用于除context外的任何容器中。
realm:可以用于任意容器类的组件中,关联一个用户认证库,实现认证和授权。可以关联的认证库有两种:UserDatabaseRealm、MemoryRealm和JDBCRealm。
UserDatabaseRealm:使用JNDI自定义的用户认证库。
MemoryRealm:认证信息定义在tomcat-users.xml中。
JDBCRealm:认证信息定义在数据库中,并通过JDBC连接至数据库中查找认证用户。

Connector主要参数说明:

参数 参数说明
connector 接收用户请求,类似于httpd的listen配置监听端口.
port 指定服务器端要创建的端口号,并在这个端口监听来自客户端的请求。
address 指定连接器监听的地址,默认为所有地址(即0.0.0.0)
protocol 连接器使用的协议,支持HTTP和A JP。A JP(Apache Jserv Protocol)专用于tomcat与apache建立通信的, 在httpd反向代理用户请求至tomcat时使用(可见Nginx反向代理时不可用A JP协议)。
minProcessors 服务器启动时创建的处理请求的线程数
maxProcessors 最大可以创建的处理请求的线程数
enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址
redirectPort 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
connectionTimeout 指定超时的时间数(以毫秒为单位)

host参数说明:

参数 参数说明
host 表示一个虚拟主机
name 指定主机名
appBase 应用程序基本目录,即存放应用程序的目录.一般为appBase=“webapps” ,相对于CATALINA_HOME而言的,也可以写绝对路径。
unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序
autoDeploy 在tomcat启动时,是否自动部署。
xmlValidation 是否启动xml的校验功能,一般xmlValidation=“false”。
xmlNamespaceAware 检测名称空间,一般xmlNamespaceAware=“false”。

context参数说明:

参数 参数说明
Context 表示一个web应用程序,通常为WAR文件
docBase 应用程序的路径或者是WAR文件存放的路径,也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径。
path 表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/
reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重启tomcat的情况下改变应用程序

6.tomcat web站点部署

通过两种方式,第一种方式是直接将程序目录放在webapps目录下面
第二种方式是使用开发工具将程序打包成war包,然后上传到webapps目录下面。

部署开源站点jpress
下载地址:https://github.com/JpressProjects/jpress

# 安装配置数据库
[root@bbs ~]# yum install mariadb-server -y
[root@bbs ~]# systemctl enable --now mariadb
[root@bbs ~]# mysql
MariaDB [(none)]> create database jpress default character set utf8;
MariaDB [(none)]> grant all on jpress.* to jpress@'localhost' identified by '123456';

接下来下载好war包后直接放在指定目录下即可,会自动解压

[root@bbs ~]# mv jpress-web-newest.war /usr/local/tomcat/webapps/
[root@bbs ~]# cd /usr/local/tomcat/webapps
[root@bbs webapps]# ll
total 20316
drwxr-x--- 15 root root     4096 Dec 26 10:27 docs
drwxr-x---  7 root root       99 Dec 26 10:27 examples
drwxr-x---  6 root root       79 Dec 26 10:27 host-manager
drwxr-x---  7 root root      102 Dec 26 14:35 jpress-web-newest
-rw-r--r--  1 root root 20797013 Oct 10 12:52 jpress-web-newest.war
drwxr-x---  6 root root      114 Dec 26 10:27 manager
drwxr-x---  3 root root      223 Dec 26 10:27 ROOT

浏览器访问 http://IP:8080/jpress-web-newest/install
Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第6张图片

安装完毕之后,重启tomcat即可访问
访问后台:http://IP:8080/jpress-web-newest/admin/login
Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第7张图片

7.tomcat虚拟主机

需修改server.xml文件

[root@localhost ~]# cd /usr/local/tomcat/conf/
# 备份
[root@localhost conf]# cp server.xml{,.bak}
[root@localhost conf]# vim server.xml

在命令模式下使用 / Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第8张图片

# 添加内容示例
      "www.a.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        "/web/a" path="" reloadable="flase" />
        "org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
      </Host>
      
      "www.b.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        "/web/b" path="" reloadable="flase" />
        "org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
      </Host>

虚拟主机目录与文件准备

[root@bbs conf]# mkdir -p /web/{a,b}
[root@bbs conf]# vim /web/a/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

        
        JSP a page<<span class="token operator">/</span>title>
        <<span class="token operator">/</span>head>
        <body>
            <<span class="token operator">%</span> out<span class="token punctuation">.</span>println<span class="token punctuation">(</span><span class="token string">"Welocome to test site,http://www.a.com"</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator">%</span>>
        <<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>

<span class="token namespace">[root@bbs conf]</span><span class="token comment"># cp /web/a/index.jsp /web/b/</span>
<span class="token namespace">[root@bbs conf]</span><span class="token comment"># vim /web/b/index.jsp</span>

<<span class="token operator">%</span>@ page language=<span class="token string">"java"</span> import=<span class="token string">"java.util.*"</span> pageEncoding=<span class="token string">"UTF-8"</span><span class="token operator">%</span>>
<html>
        <head>
        <title>JSP a page<<span class="token operator">/</span>title>
        <<span class="token operator">/</span>head>
        <body>
            <<span class="token operator">%</span> out<span class="token punctuation">.</span>println<span class="token punctuation">(</span><span class="token string">"Welocome to test site,http://www.b.com"</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator">%</span>>
        <<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>

<span class="token namespace">[root@bbs conf]</span><span class="token comment"># systemctl restart tomcat</span>
</code></pre> 
  <p>客户端hosts文件添加dns解析<br> (注:windows下hosts文件目录为C:\Windows\System32\drivers\etc\hosts)<br> tomcat_IP www.a.com www.b.com<br> 测试:<br> 使用域名:8080,即可访问<br> <a href="http://img.e-com-net.com/image/info8/6a8b79659072422787a01e7f70c84371.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/6a8b79659072422787a01e7f70c84371.jpg" alt="Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第9张图片" width="650" height="357" style="border:1px solid black;"></a></p> 
  <h2>8.动静分离</h2> 
  <p>虽然tomcat已经有了这些服务,但常引入 Apache 或者其他的一些专门的HTTP 服务器原因有下面几个:</p> 
  <ol> 
   <li>提升对静态文件的处理性能</li> 
   <li>利用 Web 服务器来做负载均衡以及容错</li> 
   <li>无缝的升级应用程序</li> 
  </ol> 
  <h3>jk</h3> 
  <p>这是最常见的方式。JK 是通过 AJP 协议与 Tomcat 服务器进行通讯的,Tomcat 默认的 AJP Connector 的端口是 8009。JK本身提供了一个监控以及管理的页面jkstatus,通过 jkstatus 可以监控 JK 目前的工作状态以及对到 tomcat 的连接进行设置。<br> 编译生成mod_jk模块<br> 在apache中加载mod_jk并对其进行配置<br> 在tomcat中修改配置以使其能接受mod_jk的转发<br> 编译生成mod_jk.so</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@bbs ~]</span><span class="token comment"># wget -c https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz --no-check-certificate</span>
<span class="token namespace">[root@bbs ~]</span><span class="token comment"># tar xf tomcat-connectors-1.2.48-src.tar.gz -C /usr/local/src/</span>
<span class="token namespace">[root@bbs ~]</span><span class="token comment"># cd /usr/local/src/tomcat-connectors-1.2.48-src/native/</span>
<span class="token namespace">[root@bbs native]</span><span class="token comment"># yum install httpd-devel -y</span>
<span class="token namespace">[root@bbs native]</span><span class="token comment"># yum install gcc gcc-c++ make -y</span>
<span class="token namespace">[root@bbs native]</span><span class="token comment"># ./configure --with-apxs</span>
<span class="token namespace">[root@bbs native]</span><span class="token comment"># make && make install</span>
<span class="token comment"># 查看是否编译成功</span>
<span class="token namespace">[root@bbs ~]</span><span class="token comment"># find / -name mod_jk.so</span>
<span class="token operator">/</span>usr/lib64/httpd/modules/mod_jk<span class="token punctuation">.</span>so
<span class="token operator">/</span>usr/local/src/tomcat-connectors-1<span class="token punctuation">.</span>2<span class="token punctuation">.</span>48-src/native/apache-2<span class="token punctuation">.</span>0/<span class="token punctuation">.</span>libs/mod_jk<span class="token punctuation">.</span>so
<span class="token operator">/</span>usr/local/src/tomcat-connectors-1<span class="token punctuation">.</span>2<span class="token punctuation">.</span>48-src/native/apache-2<span class="token punctuation">.</span>0/mod_jk<span class="token punctuation">.</span>so

</code></pre> 
  <p>创建测试页面</p> 
  <pre><code class="prism language-powershell"><span class="token comment"># 静态页面</span>
<span class="token namespace">[root@bbs ~]</span><span class="token comment"># vim /var/www/html/index.html</span>
<h1>static_page_from_apache<<span class="token operator">/</span>h1>
<span class="token namespace">[root@bbs ~]</span><span class="token comment"># vim /usr/local/tomcat/webapps/ROOT/test.jsp</span>
<h1>dynamic_page_from_tomcat<<span class="token operator">/</span>h1>
<span class="token namespace">[root@bbs ~]</span><span class="token comment"># systemctl restart httpd</span>
</code></pre> 
  <p>通过浏览器访问IP可得到静态测试界面,IP:8080/test.jsp可查看到动态测试页面<br> <a href="http://img.e-com-net.com/image/info8/5306cb71a1c649d09d7bf2f987db61fd.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/5306cb71a1c649d09d7bf2f987db61fd.jpg" alt="Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第10张图片" width="650" height="430" style="border:1px solid black;"></a><br> 当然用域名访问也是一样的<br> <a href="http://img.e-com-net.com/image/info8/db3d4e1466c348feb90037a69729862d.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/db3d4e1466c348feb90037a69729862d.jpg" alt="Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第11张图片" width="650" height="217" style="border:1px solid black;"></a><br> 配置jk模块</p> 
  <pre><code class="prism language-powershell"><span class="token comment"># 官方模板文件位置</span>
<span class="token namespace">[root@bbs ~]</span><span class="token comment"># cd /usr/local/src/tomcat-connectors-1.2.48-src/conf/</span>
<span class="token namespace">[root@bbs conf]</span><span class="token comment"># ll</span>
total 20
<span class="token operator">-</span>rw-r-<span class="token operator">-</span>r-<span class="token operator">-</span> 1 root bin 4924 Feb 21  2020 httpd-jk<span class="token punctuation">.</span>conf
<span class="token operator">-</span>rw-r-<span class="token operator">-</span>r-<span class="token operator">-</span> 1 root bin 1461 Feb 21  2020 uriworkermap<span class="token punctuation">.</span>properties
<span class="token operator">-</span>rw-r-<span class="token operator">-</span>r-<span class="token operator">-</span> 1 root bin 5963 Feb 21  2020 workers<span class="token punctuation">.</span>properties
</code></pre> 
  <p>JK 的配置最关键的三个文件,分别是<br> httpd.conf:Apache 服务器的配置文件,用来加载 JK 模块以及指定 JK 配置文件信息<br> workers.properties:到 Tomcat 服务器的连接定义文件<br> uriworkermap.properties:URI 映射文件,用来指定哪些 URL 由 Tomcat 处理,你也可以直接在httpd.conf 中配置这些 URI,但是独立这些配置的好处是 JK 模块会定期更新该文件的内容,使得我们修改配置的时候无需重新启动 Apache 服务器。</p> 
  <p><a href="http://img.e-com-net.com/image/info8/84ad99cf069d4930ac0f3f0f24ac7cf9.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/84ad99cf069d4930ac0f3f0f24ac7cf9.jpg" alt="Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第12张图片" width="650" height="540" style="border:1px solid black;"></a></p> 
  <pre><code class="prism language-powershell"><span class="token comment"># 创建相关的配置文件</span>
<span class="token namespace">[root@bbs conf]</span><span class="token comment"># vim /etc/httpd/conf.d/mod_jk.conf </span>

<span class="token comment">#JkWorkersFile 路径根据实际情况填写</span>
JkWorkersFile conf/workers<span class="token punctuation">.</span>properties
<span class="token comment"># Where to put jk logs</span>
JkLogFile <span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>log/httpd/mod_jk<span class="token punctuation">.</span>log
<span class="token comment"># Set the jk log level [debug/error/info]</span>
JkLogLevel info
<span class="token comment"># Select the log format</span>
JkLogStampFormat <span class="token string">"[%a %b %d %H:%M:%S %Y]"</span>
<span class="token comment"># JkOptions indicate to send SSL KEY SIZE,</span>
JkOptions <span class="token operator">+</span>ForwardKeySize <span class="token operator">+</span>ForwardURICompatUnparsed <span class="token operator">-</span>ForwardDirectories
<span class="token comment"># JkRequestLogFormat set the request format</span>
JkRequestLogFormat <span class="token string">"%w %V %T"</span>
<span class="token comment">#根据实际情况自己定义即可,就是将什么样的请求转发给worker1处理</span>
<span class="token comment">#JkMount /* worker1</span>
JkMount <span class="token operator">/</span><span class="token operator">*</span><span class="token punctuation">.</span>jsp worker1
JkMount <span class="token operator">/</span>servlet/<span class="token operator">*</span> worker1
JkMount <span class="token operator">/</span><span class="token operator">*</span><span class="token punctuation">.</span><span class="token keyword">do</span> worker1
JkMount <span class="token operator">/</span><span class="token operator">*</span><span class="token punctuation">.</span>action worker1
<span class="token comment">#JkMount /*.class worker1</span>
<span class="token comment">#JkMount /*.jar worker1</span>
JkMount <span class="token operator">/</span>jkstatus status

<span class="token namespace">[root@bbs conf]</span><span class="token comment"># vim /etc/httpd/conf/workers.properties</span>

<span class="token comment">#路径根据实际情况修改</span>
workers<span class="token punctuation">.</span>tomcat_home=<span class="token operator">/</span>usr/local/tomcat/
workers<span class="token punctuation">.</span>java_home=<span class="token operator">/</span>usr/java/jdk1<span class="token punctuation">.</span>8<span class="token punctuation">.</span>0_144

worker<span class="token punctuation">.</span>list=worker1
<span class="token comment"># Set properties for worker1 下面的都可以不用修改,感兴趣可以搜索相关含义</span>
worker<span class="token punctuation">.</span>worker1<span class="token punctuation">.</span><span class="token function">type</span>=ajp13
worker<span class="token punctuation">.</span>worker1<span class="token punctuation">.</span>host=localhost
worker<span class="token punctuation">.</span>worker1<span class="token punctuation">.</span>port=8009
worker<span class="token punctuation">.</span>worker1<span class="token punctuation">.</span>lbfactor=50
<span class="token comment">#worker.worker1.cachesize=10</span>
<span class="token comment">#worker.worker1.cache_timeout=600</span>
<span class="token comment">#worker.worker1.socket_keepalive=1</span>
<span class="token comment">#worker.worker1.socket_timeout=300</span>
worker<span class="token punctuation">.</span>list = status
worker<span class="token punctuation">.</span>status<span class="token punctuation">.</span><span class="token function">type</span>=status

</code></pre> 
  <p>注意,8009端口默认关闭,需手动打开</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@bbs conf]</span><span class="token comment"># netstat -lnupt | grep 8009</span>
<span class="token namespace">[root@bbs conf]</span><span class="token comment"># cd /usr/local/tomcat/conf</span>
<span class="token namespace">[root@bbs conf]</span><span class="token comment"># vim server.xml</span>
<span class="token comment"># /8009 搜索端口,删除注释即可</span>
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/65155c9428924813bbd0f620da9406fc.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/65155c9428924813bbd0f620da9406fc.jpg" alt="Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第13张图片" width="650" height="139" style="border:1px solid black;"></a><br> 重启tomcat</p> 
  <p><strong>tomcat8.5.84版本经测试失败 -_-<br> 回退到8.5.20版本测试成功</strong><br> <a href="http://img.e-com-net.com/image/info8/1268b08831754b88b065d8193a28bc18.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/1268b08831754b88b065d8193a28bc18.jpg" alt="Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第14张图片" width="650" height="374" style="border:1px solid black;"></a><br> 8.5.20版本默认8009端口打开,无需更改<br> 无需加端口即可直接访问<br> JK 本身提供了一个监控以及管理的页面 jkstatus,通过 jkstatus 可以监控 JK 目前的工作状态以及对到tomcat 的连接进行设置,如下图所示:<br> <a href="http://img.e-com-net.com/image/info8/92a6cb021d5f4f168c4c83eae095dfa9.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/92a6cb021d5f4f168c4c83eae095dfa9.jpg" alt="Tomcat8安装,配置启动脚本,简单目录结构介绍,web部署,虚拟主机等_第15张图片" width="650" height="490" style="border:1px solid black;"></a><br> 至此,tomcat的一些基本内容就大致了解完毕了</p> 
  <hr> 
  <h1>总结</h1> 
  <p>tomcat从安装到基本的了解和使用,以及web站点的配置部署等。<br> (本文为作者简单学习笔记,若有错误之处,感谢大佬指正!)</p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1686723584099168256"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(高级运维,tomcat)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1950230804957294592.htm"
                           title="SpringMVC执行流程(原理),通俗易懂" target="_blank">SpringMVC执行流程(原理),通俗易懂</a>
                        <span class="text-muted">国服冰</span>
<a class="tag" taget="_blank" href="/search/SpringMVC/1.htm">SpringMVC</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a>
                        <div>SpringMVC执行流程(原理),通俗易懂一、图解SpringMVC流程二、进一步理解Springmvc的执行流程1、导入依赖2、建立展示的视图3、web.xml4、spring配置文件springmvc-servlet5、Controller6、tomcat配置7、访问的url8、视图页面一、图解SpringMVC流程图为SpringMVC的一个较完整的流程图,实线表示SpringMVC框架提</div>
                    </li>
                    <li><a href="/article/1950207854388506624.htm"
                           title="深入理解 Tomcat Wrapper 原理" target="_blank">深入理解 Tomcat Wrapper 原理</a>
                        <span class="text-muted">北漂老男人</span>
<a class="tag" taget="_blank" href="/search/Tomcat/1.htm">Tomcat</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>深入理解TomcatWrapper原理一、引言在Tomcat的分层容器架构中,Wrapper作为最底层的容器,专门负责管理单个Servlet的生命周期及请求分发。每一个Servlet(包括JSP、Filter等)都对应一个Wrapper。Wrapper是Servlet规范与Tomcat容器实现之间的桥梁,直接关系到请求的分发效率、Servlet的加载与重用、安全隔离等。本文将系统剖析Wrapper</div>
                    </li>
                    <li><a href="/article/1949918624361803776.htm"
                           title="spring boot入门" target="_blank">spring boot入门</a>
                        <span class="text-muted">开往1982</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>SpringBoot简介(脚手架)简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;优点:快速创建独立运行的spring项目以及与主流框架集成使用嵌入式的Servlet容器,应用无需打成war包,内嵌TomcatStarters自动依赖和版本控制大量的自动装配,简化开发,也可以修改默认值无需配置XML无代码生成开箱即用准生产环境的运行时应用监控与</div>
                    </li>
                    <li><a href="/article/1949834758305411072.htm"
                           title="AI-调查研究-26-【时间管理】全球不同人群社交媒体使用时间情况" target="_blank">AI-调查研究-26-【时间管理】全球不同人群社交媒体使用时间情况</a>
                        <span class="text-muted">武子康</span>
<a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/DeepSearch/1.htm">DeepSearch</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%8F%91%E5%B1%95/1.htm">职场发展</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E5%BC%80%E5%8F%91/1.htm">个人开发</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a>
                        <div>点一下关注吧!!!非常感谢!!持续更新!!!AI篇持续更新中!(长期更新)AI炼丹日志-29-字节跳动DeerFlow深度研究框斜体样式架私有部署测试上手架构研究,持续打造实用AI工具指南!Java篇正式开启!(300篇)目前2025年07月10日更新到:Java-68深入浅出分布式服务Netty实现自定义RPC附详细代码MyBatis已完结,Spring已完结,Nginx已完结,Tomcat已完</div>
                    </li>
                    <li><a href="/article/1949498362407481344.htm"
                           title="SpringBoot + Maven 在 idea 下启动报错 Unable to start embedded Tomcat" target="_blank">SpringBoot + Maven 在 idea 下启动报错 Unable to start embedded Tomcat</a>
                        <span class="text-muted">知道的越多,不知道的越多</span>
<a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a>
                        <div>记录一个idea下启动报错UnabletostartembeddedTomcat的原因,刚遇到的时候头都大了,明明上一秒还在愉快的玩耍,下一秒就GG了【吐血】。网上看了很多文章都是说jar包冲突或者是pom文件和application.properties的问题,搞的我都迷茫了。报错日志:2021-01-1416:38:40.562[main]INFOo.s.b.c.e.tomcat.Tomcat</div>
                    </li>
                    <li><a href="/article/1949284023247368192.htm"
                           title="[附源码]java毕业设计篮球俱乐部管理系统" target="_blank">[附源码]java毕业设计篮球俱乐部管理系统</a>
                        <span class="text-muted">卓杰计算机程序设计</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                        <div>项目运行环境配置:Jdk1.8+Tomcat7.0+Mysql+HBuilderX(Webstorm也行)+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:SSM+mybatis+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.ID</div>
                    </li>
                    <li><a href="/article/1949223872125530112.htm"
                           title="SpringBoot实战指南:从快速入门到生产级部署(2025最新版)" target="_blank">SpringBoot实战指南:从快速入门到生产级部署(2025最新版)</a>
                        <span class="text-muted">郝学胜-神的一滴</span>
<a class="tag" taget="_blank" href="/search/SpringBoot/1.htm">SpringBoot</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a>
                        <div>一、为什么SpringBoot依然是Java开发的首选?SpringBoot自2014年发布以来,已成为Java企业级开发的事实标准框架。根据2025年最新调研数据显示,全球78%的Java微服务项目基于SpringBoot构建,其核心优势在于:约定优于配置:自动装配(Auto-Configuration)机制减少70%以上的XML配置内嵌容器:无需部署WAR包,Tomcat/Jetty/Unde</div>
                    </li>
                    <li><a href="/article/1949198392651476992.htm"
                           title="tail -f 查看多个日志文件" target="_blank">tail -f 查看多个日志文件</a>
                        <span class="text-muted">yuzx2008</span>
<a class="tag" taget="_blank" href="/search/Java-Web/1.htm">Java-Web</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%BE%A4/1.htm">集群</a>
                        <div>最近折腾了一下tomcat的集群,因为资源有限,所有的tomcat实例都是在一台机器上,有各自的日志文件,在查看日志发现多有不便,So#-f参数后指定一组文件即可tail-f~/server/tomcat8-1/fashion.log~/server/tomcat8-2/fashion.log~/server/tomcat8-3/fashion.log~/server/tomcat8-4/fash</div>
                    </li>
                    <li><a href="/article/1949109248919138304.htm"
                           title="CentOS 8文件描述符耗尽检测与处理实战指南" target="_blank">CentOS 8文件描述符耗尽检测与处理实战指南</a>
                        <span class="text-muted">tianyuanwo</span>
<a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E6%8F%8F%E8%BF%B0%E7%AC%A6/1.htm">文件描述符</a>
                        <div>当服务器出现“Toomanyopenfiles”错误时,意味着文件描述符(FileDescriptor)资源已耗尽。这种故障可能导致服务崩溃、连接拒绝等严重后果。本文将带你快速定位问题并彻底解决。一、为什么文件描述符如此重要?文件描述符是操作系统管理打开文件、网络套接字、管道等资源的核心机制。每个进程默认限制为1024个,高并发场景下极易耗尽,引发:服务崩溃(Nginx/MySQL/Tomcat等</div>
                    </li>
                    <li><a href="/article/1948983921161072640.htm"
                           title="PHP WebSehll 后门脚本与检测工具" target="_blank">PHP WebSehll 后门脚本与检测工具</a>
                        <span class="text-muted">wespten</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8AI%2B/1.htm">网络安全AI+</a><a class="tag" taget="_blank" href="/search/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/1.htm">渗透测试</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1/1.htm">代码审计</a><a class="tag" taget="_blank" href="/search/%E7%AD%89%E4%BF%9D/1.htm">等保</a><a class="tag" taget="_blank" href="/search/%E5%85%A8%E6%A0%88%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E5%BC%80%E5%8F%91/1.htm">全栈网络安全开发</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>Webshell是网站入侵的常用后门,利用Webshell可以在Web服务器上执行系统命令、窃取数据、植入病毒、勒索核心数据、SE0挂马等恶意操作,危害极大。所谓Webshell,主要指可以被例如apache、tomcat、nginx在内的webserver即时解释执行的脚本语言编写而成的文本文件,其本质是一种text文本文件。因其隐秘性、基于脚本、灵活便捷、功能强大等特点,广受黑客们的喜爱,因此</div>
                    </li>
                    <li><a href="/article/1948960976275566592.htm"
                           title="(附源码)计算机毕业设计SSM基于WEB的心理测评系统" target="_blank">(附源码)计算机毕业设计SSM基于WEB的心理测评系统</a>
                        <span class="text-muted">ssm毕设程序设计</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>(附源码)计算机毕业设计SSM基于WEB的心理测评系统项目运行环境配置:Jdk1.8+Tomcat7.0+Mysql+HBuilderX(Webstorm也行)+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:SSM+mybatis+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,</div>
                    </li>
                    <li><a href="/article/1948940562941931520.htm"
                           title="(附源码)计算机毕业设计SSM健康饮食推荐系统" target="_blank">(附源码)计算机毕业设计SSM健康饮食推荐系统</a>
                        <span class="text-muted">学姐计算机毕设程序</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                        <div>(附源码)计算机毕业设计SSM健康饮食推荐系统项目运行环境配置:Jdk1.8+Tomcat7.0+Mysql+HBuilderX(Webstorm也行)+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:SSM+mybatis+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这</div>
                    </li>
                    <li><a href="/article/1948922654484393984.htm"
                           title="针对C://Windows/System32/drivers/etc/hosts文件不存在问题的解决" target="_blank">针对C://Windows/System32/drivers/etc/hosts文件不存在问题的解决</a>
                        <span class="text-muted"></span>

                        <div>问题:需要更改主机名,即访问时不再使用localhost,而是使用自定义的主机名。步骤:1.如果存在hosts文件则只需要在末尾添加127.0.0.1主机名即可(注意不需要加#号)。对于不存在的情况需要自己创建hosts文件,先创建文本文件,将如下代码写入文本,保存为hosts文件,不需要添加扩展名。如下图所示:在末尾添加127.0.0.1主机名即可。2.更改Tomcat服务器配置,在server</div>
                    </li>
                    <li><a href="/article/1948869710690971648.htm"
                           title="深入剖析 F5、DNS、LVS、Nginx、Tomcat:Java 架构师的流量分发指南 (二)" target="_blank">深入剖析 F5、DNS、LVS、Nginx、Tomcat:Java 架构师的流量分发指南 (二)</a>
                        <span class="text-muted">呢喃coding</span>
<a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">系统架构设计</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/lvs/1.htm">lvs</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                        <div>深入剖析F5、DNS、LVS、Nginx、Tomcat:Java架构师的流量分发指南在Java架构设计里,流量分发是保障系统高性能、高可用的核心环节。F5、DNS、LVS、Nginx、Tomcat各司其职,从网络入口到应用运行,共同构建流量处理体系。理解它们的角色与协作逻辑,是Java架构师设计高并发系统的关键。一、核心组件解析:流量分发的“接力队”(一)F5:企业级流量“指挥官”F5作为专业应用</div>
                    </li>
                    <li><a href="/article/1948868700723539968.htm"
                           title="kali-渗透攻击tomcat服务" target="_blank">kali-渗透攻击tomcat服务</a>
                        <span class="text-muted">莫航海计算机网络1班</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>kali-渗透攻击tomcat服务:Apachetomcat的理解:Apachetomcat是世界上使用最广泛的javaweb应用服务器之一,绝大多数人都会使用tomcat的默认配置。默认配置中会有一个向外网开放的web应用管理器,管理员可以利用它在服务器中启动、停止、添加和删除应用。1.打开靶场中的TomcatServer在kalilinux的firefox浏览器中输入http://192.16</div>
                    </li>
                    <li><a href="/article/1948864921416560640.htm"
                           title="Tomcat连接器(Connector)配置:BIO_NIO_APR对比" target="_blank">Tomcat连接器(Connector)配置:BIO_NIO_APR对比</a>
                        <span class="text-muted">大厂资深架构师</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/nio/1.htm">nio</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>Tomcat连接器(Connector)配置:BIO/NIO/APR对比关键词:TomcatConnector、BIO、NIO、APR、I/O模型、服务器配置、性能优化摘要:Tomcat作为Java领域最流行的Web服务器之一,其"连接器(Connector)“组件相当于Web世界的"交通指挥官”——负责接收客户端请求、处理网络I/O并将请求转发给Servlet容器。连接器的性能直接决定了Tomc</div>
                    </li>
                    <li><a href="/article/1948864922007957504.htm"
                           title="深入后端领域,了解 Tomcat 的线程池管理" target="_blank">深入后端领域,了解 Tomcat 的线程池管理</a>
                        <span class="text-muted">大厂资深架构师</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/firefox/1.htm">firefox</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>Tomcat线程池管理深度解析:从原理到实践的全维度探索元数据框架标题:Tomcat线程池管理深度解析:从原理到实践的全维度探索关键词:Tomcat、线程池、Executor、Connector、NIO、性能优化、并发模型摘要:线程池是Tomcat处理高并发请求的核心组件,其设计直接决定了后端服务的吞吐量、延迟和稳定性。本文从第一性原理出发,系统拆解Tomcat线程池的理论框架、架构设计、实现机制</div>
                    </li>
                    <li><a href="/article/1948864920909049856.htm"
                           title="Tomcat 助力后端高效开发的秘诀" target="_blank">Tomcat 助力后端高效开发的秘诀</a>
                        <span class="text-muted">AI应用开发实战派</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>Tomcat助力后端高效开发的秘诀关键词:Tomcat、JavaWeb、服务器优化、性能调优、后端开发、Servlet容器、企业级应用摘要:本文深入探讨ApacheTomcat作为JavaWeb应用服务器的核心价值,揭示其如何助力后端高效开发。文章将从Tomcat架构原理出发,详细解析其性能优化策略、开发实践技巧,并通过实际案例展示Tomcat在企业级应用中的最佳实践。读者将掌握Tomcat的核心</div>
                    </li>
                    <li><a href="/article/1948746412531445760.htm"
                           title="基于SSM的医院血库管理系统的设计与实现" target="_blank">基于SSM的医院血库管理系统的设计与实现</a>
                        <span class="text-muted">JAVA编码选手</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B/1.htm">计算机毕业设计实战案例</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/intellij-idea/1.htm">intellij-idea</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/java-ee/1.htm">java-ee</a>
                        <div>开发环境开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9浏览器:谷歌浏览器后台路径地址:localhost:8080/项目名称/admin/dist/index.html前台路径地址:localh</div>
                    </li>
                    <li><a href="/article/1948365040222531584.htm"
                           title="Tomcat和nginx结合使用" target="_blank">Tomcat和nginx结合使用</a>
                        <span class="text-muted">xiaoweiwei11</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>前言Tomcat和Nginx是两个不同的服务器软件,它们在Web应用部署中扮演着不同的角色。Tomcat是一个JavaServlet容器,它用于运行JavaWeb应用程序。它可以处理HTTP请求并将其传递给Java应用程序进行处理。Tomcat提供了一个容器,用于加载、执行和管理JavaServlet、JavaServerPages(JSP)和其他JavaWeb技术。相比之下,Nginx是一个高性</div>
                    </li>
                    <li><a href="/article/1948362773205413888.htm"
                           title="SpringBoot 内嵌 Tomcat 的相关配置" target="_blank">SpringBoot 内嵌 Tomcat 的相关配置</a>
                        <span class="text-muted">FrankYoou</span>
<a class="tag" taget="_blank" href="/search/Tomcat/1.htm">Tomcat</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
                        <div>application.properties的配置,针对SpringBoot1.5.8的版本。配置项解释默认值备注server.port‌配置应用启动时监听的端口号8080server.servlet.context-path设置应用的根路径/server.session.timeout定义session失效时间单位:秒server.tomcat.max-threadsExecutor线程池的最大</div>
                    </li>
                    <li><a href="/article/1948358866857160704.htm"
                           title="linux环境安装部署tomcat、nginx" target="_blank">linux环境安装部署tomcat、nginx</a>
                        <span class="text-muted">ernesto_ji</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                        <div>linux环境安装部署tomcat1、下载安装包:apache-tomcat-8.5.82.tar.gz2、在usr/local/目录下创建tomcat目录:mkdirtomcat3、解压安装包:tar-zxvfapache-tomcat-8.5.82.tar.gz4、进入解压目录下的bin目录启动tomcat:./startup.sh5、在浏览器访问:http://localhost:8080l</div>
                    </li>
                    <li><a href="/article/1948347022780198912.htm"
                           title="android模拟器本地浏览器代理,浏览器,Android模拟器或真机如何访问本地电脑的Tomcat..." target="_blank">android模拟器本地浏览器代理,浏览器,Android模拟器或真机如何访问本地电脑的Tomcat...</a>
                        <span class="text-muted">幻夜梦屿</span>

                        <div>查看本机IP地址使用Windows+R键打开“运行”窗口,然后输入CMD进入命令提示窗口,进入命令窗口之后,输入:ipconfig,回车即可看到整个电脑的详细的IP配置信息访问IP1.在浏览器里输入:http://localhost:8080http://192.168.137.1:8080http://192.168.137.1:8080其中:192.168.137.1是本地IP地址2.通过真机</div>
                    </li>
                    <li><a href="/article/1948122630397685760.htm"
                           title="Docker进阶 - 2. Dockerfile 常用保留字简介" target="_blank">Docker进阶 - 2. Dockerfile 常用保留字简介</a>
                        <span class="text-muted">Aaron_neil</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Docker/1.htm">Docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/DockerFile/1.htm">DockerFile</a>
                        <div>目录1.FROM2.MAINTAINER3.RUN4.EXPOSE5.WORKDIR6.USER7.ENV8.VOLUME9.COPY10.ADD11.CMD12.ENTRYPOINT13.CMD和RUN命令的区别本篇文章的讲解截屏示例基于tomcat的Dockerfile:tomcat/9.0/jdk8/openjdk/Dockerfile1.FROM基础镜像,指当前镜像是基于哪个镜像,指定一个</div>
                    </li>
                    <li><a href="/article/1948021397066412032.htm"
                           title="Tomcat 目录结构及JAR包说明" target="_blank">Tomcat 目录结构及JAR包说明</a>
                        <span class="text-muted">WSSWWWSSW</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/jar/1.htm">jar</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>Tomcat目录结构及JAR包说明一、Tomcat目录结构概述ApacheTomcat是一个开源的Servlet容器,用于运行JavaWeb应用程序。其标准目录结构如下:tomcat/├──bin/#二进制脚本文件(启动、停止等)├──conf/#配置文件目录├──lib/#Tomcat核心库及依赖├──logs/#日志文件目录├──temp/#临时文件目录├──webapps/#Web应用程序部</div>
                    </li>
                    <li><a href="/article/1948007535906713600.htm"
                           title="Kubernetes 核心命令速查手册:运维与开发必备" target="_blank">Kubernetes 核心命令速查手册:运维与开发必备</a>
                        <span class="text-muted">liux3528</span>
<a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a>
                        <div>本文整理了Kubernetes集群运维的实用命令集锦,涵盖8大核心场景:1)集群基础信息查看;2)Pod生命周期管理;3)服务与网络配置;4)存储与配置管理;5)故障排查方法;6)性能监控优化;7)高级运维技巧;8)命令行效率工具。重点包括节点状态查询、Pod调试、日志分析、网络连通性测试、资源监控等高频操作,并提供了批量处理、安全审计、集群维护等进阶技巧。每个命令均标注适用场景,可作为K8s运维</div>
                    </li>
                    <li><a href="/article/1947962829470494720.htm"
                           title="跨域请求传递Cookie问题" target="_blank">跨域请求传递Cookie问题</a>
                        <span class="text-muted">videring</span>

                        <div>参考:https://www.cnblogs.com/nuccch/p/7875189.html问题描述前后端完全分离的项目,前端使用Vue+axios,后端使用SpringMVC,容器为Tomcat。使用CORS协议解决跨域访问数据限制的问题,但是发现客户端的Ajax请求不会自动带上服务器返回的Cookie:JSESSIONID。导致每一个Ajax请求在服务端看来都是一个新的请求,都会在服务端创</div>
                    </li>
                    <li><a href="/article/1947827527728820224.htm"
                           title="Tomcat问题Cannot find /data/tomcat/bin/setclasspath.sh" target="_blank">Tomcat问题Cannot find /data/tomcat/bin/setclasspath.sh</a>
                        <span class="text-muted"></span>

                        <div>问题:linux环境下,启动startup命令报错Cannotfind/data/tomcat/bin/setclasspath.shThisfileisneededtorunthisprogram任一目录下面执行下面命令unsetCATALINA_HOME再次启动即可暂时解决问题./startup.sh根本上解决则vim/etc/profile去掉CALALINE_HOME这个变量。</div>
                    </li>
                    <li><a href="/article/1947827528215359488.htm"
                           title="tomcat启动报错Cannot find /usr/local/tomcat9/bin/setclasspath.sh解决办法" target="_blank">tomcat启动报错Cannot find /usr/local/tomcat9/bin/setclasspath.sh解决办法</a>
                        <span class="text-muted">墨染琉璃</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>最近在练习在虚拟机上部署项目并运行就遇到了好多的问题逐个记录下来吧我在tomcat启动的时候报了一个这样的错误后来百度了一番找到了解决的办法Cannotfind/usr/local/tomcat/bin/setclasspath.shThisfileisneededtorunthisprogram在任意目录执行命令unsetCATALINA_HOME之后再执行./startup.sh再后来我每一次</div>
                    </li>
                    <li><a href="/article/1947826391827410944.htm"
                           title="Cannot find tomcat目录/bin/setclasspath.sh This file is needed to run this program" target="_blank">Cannot find tomcat目录/bin/setclasspath.sh This file is needed to run this program</a>
                        <span class="text-muted">sailor7</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
                        <div>问题:Cannotfind/opt/tomcat/apache-tomcat-8.5.79/bin/setclasspath.shThisfileisneededtorunthisprogram原因:没有在setclasspath.sh上设置JAVA_HOME和JRE_HOME解决:打开setclasspath.sh,设置JAVA_HOME和JRE_HOMEsudovisetclasspath.s</div>
                    </li>
                                <li><a href="/article/50.htm"
                                       title="java封装继承多态等" target="_blank">java封装继承多态等</a>
                                    <span class="text-muted">麦田的设计者</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/encapsulatopn/1.htm">encapsulatopn</a>
                                    <div>       最近一段时间看了很多的视频却忘记总结了,现在只能想到什么写什么了,希望能起到一个回忆巩固的作用。 
    1、final关键字 
      译为:最终的 
       &</div>
                                </li>
                                <li><a href="/article/177.htm"
                                       title="F5与集群的区别" target="_blank">F5与集群的区别</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/weblogic/1.htm">weblogic</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%BE%A4/1.htm">集群</a><a class="tag" taget="_blank" href="/search/F5/1.htm">F5</a>
                                    <div>        http请求配置不是通过集群,而是F5;集群是weblogic容器的,如果是ejb接口是通过集群。 
        F5同集群的差别,主要还是会话复制的问题,F5一把是分发http请求用的,因为http都是无状态的服务,无需关注会话问题,类似</div>
                                </li>
                                <li><a href="/article/304.htm"
                                       title="LeetCode[Math] - #7 Reverse Integer" target="_blank">LeetCode[Math] - #7 Reverse Integer</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a><a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a>
                                    <div>原题链接:#7 Reverse Integer 
  
要求: 
按位反转输入的数字 
例1: 输入 x = 123, 返回 321 
例2: 输入 x = -123, 返回 -321 
  
难度:简单 
  
分析: 
对于一般情况,首先保存输入数字的符号,然后每次取输入的末位(x%10)作为输出的高位(result = result*10 + x%10)即可。但</div>
                                </li>
                                <li><a href="/article/431.htm"
                                       title="BufferedOutputStream" target="_blank">BufferedOutputStream</a>
                                    <span class="text-muted">周凡杨</span>

                                    <div>     首先说一下这个大批量,是指有上千万的数据量。 
     例子: 
     有一张短信历史表,其数据有上千万条数据,要进行数据备份到文本文件,就是执行如下SQL然后将结果集写入到文件中! 
     select t.msisd</div>
                                </li>
                                <li><a href="/article/558.htm"
                                       title="linux下模拟按键输入和鼠标" target="_blank">linux下模拟按键输入和鼠标</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>查看/dev/input/eventX是什么类型的事件, cat /proc/bus/input/devices 
设备有着自己特殊的按键键码,我需要将一些标准的按键,比如0-9,X-Z等模拟成标准按键,比如KEY_0,KEY-Z等,所以需要用到按键 模拟,具体方法就是操作/dev/input/event1文件,向它写入个input_event结构体就可以模拟按键的输入了。 
 
linux/in</div>
                                </li>
                                <li><a href="/article/685.htm"
                                       title="ContentProvider初体验" target="_blank">ContentProvider初体验</a>
                                    <span class="text-muted">肆无忌惮_</span>
<a class="tag" taget="_blank" href="/search/ContentProvider/1.htm">ContentProvider</a>
                                    <div>ContentProvider在安卓开发中非常重要。与Activity,Service,BroadcastReceiver并称安卓组件四大天王。 
在android中的作用是用来对外共享数据。因为安卓程序的数据库文件存放在data/data/packagename里面,这里面的文件默认都是私有的,别的程序无法访问。 
如果QQ游戏想访问手机QQ的帐号信息一键登录,那么就需要使用内容提供者COnte</div>
                                </li>
                                <li><a href="/article/812.htm"
                                       title="关于Spring MVC项目(maven)中通过fileupload上传文件" target="_blank">关于Spring MVC项目(maven)中通过fileupload上传文件</a>
                                    <span class="text-muted">843977358</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a><a class="tag" taget="_blank" href="/search/%E4%BF%AE%E6%94%B9%E5%A4%B4%E5%83%8F/1.htm">修改头像</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6/1.htm">上传文件</a><a class="tag" taget="_blank" href="/search/upload/1.htm">upload</a>
                                    <div>Spring MVC 中通过fileupload上传文件,其中项目使用maven管理。 
  
1.上传文件首先需要的是导入相关支持jar包:commons-fileupload.jar,commons-io.jar 
因为我是用的maven管理项目,所以要在pom文件中配置(每个人的jar包位置根据实际情况定) 
<!-- 文件上传 start by zhangyd-c --&g</div>
                                </li>
                                <li><a href="/article/939.htm"
                                       title="使用svnkit api,纯java操作svn,实现svn提交,更新等操作" target="_blank">使用svnkit api,纯java操作svn,实现svn提交,更新等操作</a>
                                    <span class="text-muted">aigo</span>
<a class="tag" taget="_blank" href="/search/svnkit/1.htm">svnkit</a>
                                    <div> 原文:http://blog.csdn.net/hardwin/article/details/7963318 
  
import java.io.File;  
  
import org.apache.log4j.Logger;  
import org.tmatesoft.svn.core.SVNCommitInfo;  
import org.tmateso</div>
                                </li>
                                <li><a href="/article/1066.htm"
                                       title="对比浏览器,casperjs,httpclient的Header信息" target="_blank">对比浏览器,casperjs,httpclient的Header信息</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/crawler/1.htm">crawler</a><a class="tag" taget="_blank" href="/search/header/1.htm">header</a>
                                    <div>		@Override
		protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
		{
			String type=req.getParameter("type");
			Enumeration es=re</div>
                                </li>
                                <li><a href="/article/1193.htm"
                                       title="java.io操作 DataInputStream和DataOutputStream基本数据流" target="_blank">java.io操作 DataInputStream和DataOutputStream基本数据流</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%B5%81/1.htm">流</a>
                                    <div>1,java中如果不保存整个对象,只保存类中的属性,那么我们可以使用本篇文章中的方法,如果要保存整个对象  先将类实例化  后面的文章将详细写到 
  
  
2,DataInputStream 是java.io包中一个数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。</div>
                                </li>
                                <li><a href="/article/1320.htm"
                                       title="车辆保险理赔案例" target="_blank">车辆保险理赔案例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%A6%E9%99%A9/1.htm">车险</a>
                                    <div>理赔案例: 
一货运车,运输公司为车辆购买了机动车商业险和交强险,也买了安全生产责任险,运输一车烟花爆竹,在行驶途中发生爆炸,出现车毁、货损、司机亡、炸死一路人、炸毁一间民宅等惨剧,针对这几种情况,该如何赔付。 
赔付建议和方案: 
客户所买交强险在这里不起作用,因为交强险的赔付前提是:“机动车发生道路交通意外事故”; 
如果是交通意外事故引发的爆炸,则优先适用交强险条款进行赔付,不足的部分由商业</div>
                                </li>
                                <li><a href="/article/1447.htm"
                                       title="学习Spring必学的Java基础知识(5)—注解" target="_blank">学习Spring必学的Java基础知识(5)—注解</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>        文章来源:http://www.iteye.com/topic/1123823,整理在我的博客有两个目的:一个是原文确实很不错,通俗易懂,督促自已将博主的这一系列关于Spring文章都学完;另一个原因是为免原文被博主删除,在此记录,方便以后查找阅读。 
  
        有必要对</div>
                                </li>
                                <li><a href="/article/1574.htm"
                                       title="【Struts2一】Struts2 Hello World" target="_blank">【Struts2一】Struts2 Hello World</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Hello+world/1.htm">Hello world</a>
                                    <div>Struts2 Hello World应用的基本步骤 
创建Struts2的Hello World应用,包括如下几步: 
1.配置web.xml 
2.创建Action 
3.创建struts.xml,配置Action 
4.启动web server,通过浏览器访问 
  配置web.xml 
<?xml version="1.0" encoding="</div>
                                </li>
                                <li><a href="/article/1701.htm"
                                       title="【Avro二】Avro RPC框架" target="_blank">【Avro二】Avro RPC框架</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a>
                                    <div>1. Avro RPC简介 1.1. RPC 
 
 RPC逻辑上分为二层,一是传输层,负责网络通信;二是协议层,将数据按照一定协议格式打包和解包 
 从序列化方式来看,Apache Thrift 和Google的Protocol Buffers和Avro应该是属于同一个级别的框架,都能跨语言,性能优秀,数据精简,但是Avro的动态模式(不用生成代码,而且性能很好)这个特点让人非常喜欢,比较适合R</div>
                                </li>
                                <li><a href="/article/1828.htm"
                                       title="lua set get cookie" target="_blank">lua set get cookie</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/lua+cookie/1.htm">lua cookie</a>
                                    <div>lua:
local access_token = ngx.var.cookie_SGAccessToken
if access_token then
    ngx.header["Set-Cookie"] = "SGAccessToken="..access_token.."; path=/;Max-Age=3000"
end</div>
                                </li>
                                <li><a href="/article/1955.htm"
                                       title="java-打印不大于N的质数" target="_blank">java-打印不大于N的质数</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>

public class PrimeNumber {

	/**
	 * 寻找不大于N的质数
	 */
	public static void main(String[] args) {
		int n=100;
		PrimeNumber pn=new PrimeNumber();
		pn.printPrimeNumber(n);
		System.out.print</div>
                                </li>
                                <li><a href="/article/2082.htm"
                                       title="Spring源码学习-PropertyPlaceholderHelper" target="_blank">Spring源码学习-PropertyPlaceholderHelper</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>今天在看Spring 3.0.0.RELEASE的源码,发现PropertyPlaceholderHelper的一个bug 
当时觉得奇怪,上网一搜,果然是个bug,不过早就有人发现了,且已经修复: 
详见: 
http://forum.spring.io/forum/spring-projects/container/88107-propertyplaceholderhelper-bug 
 
</div>
                                </li>
                                <li><a href="/article/2209.htm"
                                       title="[逻辑与拓扑]布尔逻辑与拓扑结构的结合会产生什么?" target="_blank">[逻辑与拓扑]布尔逻辑与拓扑结构的结合会产生什么?</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E6%8B%93%E6%89%91/1.htm">拓扑</a>
                                    <div> 
   如果我们已经在一个工作流的节点中嵌入了可以进行逻辑推理的代码,那么成百上千个这样的节点如果组成一个拓扑网络,而这个网络是可以自动遍历的,非线性的拓扑计算模型和节点内部的布尔逻辑处理的结合,会产生什么样的结果呢? 
 
   是否可以形成一种新的模糊语言识别和处理模型呢?  大家有兴趣可以试试,用软件搞这些有个好处,就是花钱比较少,就算不成</div>
                                </li>
                                <li><a href="/article/2336.htm"
                                       title="ITEYE 都换百度推广了" target="_blank">ITEYE 都换百度推广了</a>
                                    <span class="text-muted">cuisuqiang</span>
<a class="tag" taget="_blank" href="/search/Google/1.htm">Google</a><a class="tag" taget="_blank" href="/search/AdSense/1.htm">AdSense</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6%E6%8E%A8%E5%B9%BF/1.htm">百度推广</a><a class="tag" taget="_blank" href="/search/%E5%B9%BF%E5%91%8A/1.htm">广告</a><a class="tag" taget="_blank" href="/search/%E5%A4%96%E5%BF%AB/1.htm">外快</a>
                                    <div>以前ITEYE的广告都是谷歌的Google AdSense,现在都换成百度推广了。 
  
为什么个人博客设置里面还是Google AdSense呢? 
  
都知道Google AdSense不好申请,这在ITEYE上也不是讨论了一两天了,强烈建议ITEYE换掉Google AdSense。至少,用一个好申请的吧。 
  
什么时候能从ITEYE上来点外快,哪怕少点</div>
                                </li>
                                <li><a href="/article/2463.htm"
                                       title="新浪微博技术架构分析" target="_blank">新浪微博技术架构分析</a>
                                    <span class="text-muted">dalan_123</span>
<a class="tag" taget="_blank" href="/search/%E6%96%B0%E6%B5%AA%E5%BE%AE%E5%8D%9A/1.htm">新浪微博</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a>
                                    <div>新浪微博在短短一年时间内从零发展到五千万用户,我们的基层架构也发展了几个版本。第一版就是是非常快的,我们可以非常快的实现我们的模块。我们看一下技术特点,微博这个产品从架构上来分析,它需要解决的是发表和订阅的问题。我们第一版采用的是推的消息模式,假如说我们一个明星用户他有10万个粉丝,那就是说用户发表一条微博的时候,我们把这个微博消息攒成10万份,这样就是很简单了,第一版的架构实际上就是这两行字。第</div>
                                </li>
                                <li><a href="/article/2590.htm"
                                       title="玩转ARP攻击" target="_blank">玩转ARP攻击</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/r/1.htm">r</a>
                                    <div>我写这片文章只是想让你明白深刻理解某一协议的好处。高手免看。如果有人利用这片文章所做的一切事情,盖不负责。 网上关于ARP的资料已经很多了,就不用我都说了。 用某一位高手的话来说,“我们能做的事情很多,唯一受限制的是我们的创造力和想象力”。 ARP也是如此。 以下讨论的机子有 一个要攻击的机子:10.5.4.178 硬件地址:52:54:4C:98</div>
                                </li>
                                <li><a href="/article/2717.htm"
                                       title="PHP编码规范" target="_blank">PHP编码规范</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83/1.htm">编码规范</a>
                                    <div>一、文件格式 
1. 对于只含有 php 代码的文件,我们将在文件结尾处忽略掉 "?>" 。这是为了防止多余的空格或者其它字符影响到代码。例如:<?php$foo = 'foo';2. 缩进应该能够反映出代码的逻辑结果,尽量使用四个空格,禁止使用制表符TAB,因为这样能够保证有跨客户端编程器软件的灵活性。例</div>
                                </li>
                                <li><a href="/article/2844.htm"
                                       title="linux 脱机管理(nohup)" target="_blank">linux 脱机管理(nohup)</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/linux+nohup/1.htm">linux nohup</a><a class="tag" taget="_blank" href="/search/nohup/1.htm">nohup</a>
                                    <div>脱机管理 nohup 
转载请出自出处:http://eksliang.iteye.com/blog/2166699 
nohup可以让你在脱机或者注销系统后,还能够让工作继续进行。他的语法如下 
nohup [命令与参数]   --在终端机前台工作
nohup [命令与参数] & --在终端机后台工作 
  
但是这个命令需要注意的是,nohup并不支持bash的内置命令,所</div>
                                </li>
                                <li><a href="/article/2971.htm"
                                       title="BusinessObjects Enterprise Java SDK" target="_blank">BusinessObjects Enterprise Java SDK</a>
                                    <span class="text-muted">greemranqq</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a><a class="tag" taget="_blank" href="/search/SAP/1.htm">SAP</a><a class="tag" taget="_blank" href="/search/Crystal+Reports/1.htm">Crystal Reports</a>
                                    <div>最近项目用到oracle_ADF  从SAP/BO 上调用 水晶报表,资料比较少,我做一个简单的分享,给和我一样的新手 提供更多的便利。 
  
首先,我是尝试用JAVA JSP 去访问的。 
  
官方API:http://devlibrary.businessobjects.com/BusinessObjectsxi/en/en/BOE_SDK/boesdk_ja</div>
                                </li>
                                <li><a href="/article/3098.htm"
                                       title="系统负载剧变下的管控策略" target="_blank">系统负载剧变下的管控策略</a>
                                    <span class="text-muted">iamzhongyong</span>
<a class="tag" taget="_blank" href="/search/%E9%AB%98%E5%B9%B6%E5%8F%91/1.htm">高并发</a>
                                    <div>假如目前的系统有100台机器,能够支撑每天1亿的点击量(这个就简单比喻一下),然后系统流量剧变了要,我如何应对,系统有那些策略可以处理,这里总结了一下之前的一些做法。 
1、水平扩展 
这个最容易理解,加机器,这样的话对于系统刚刚开始的伸缩性设计要求比较高,能够非常灵活的添加机器,来应对流量的变化。 
2、系统分组 
假如系统服务的业务不同,有优先级高的,有优先级低的,那就让不同的业务调用提前分组</div>
                                </li>
                                <li><a href="/article/3225.htm"
                                       title="BitTorrent DHT 协议中文翻译" target="_blank">BitTorrent DHT 协议中文翻译</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/bit/1.htm">bit</a>
                                    <div>前言 
做了一个磁力链接和BT种子的搜索引擎 {Magnet & Torrent},因此把 DHT 协议重新看了一遍。 
 
 BEP: 5Title: DHT ProtocolVersion: 3dec52cb3ae103ce22358e3894b31cad47a6f22bLast-Modified: Tue Apr 2 16:51:45 2013 -070</div>
                                </li>
                                <li><a href="/article/3352.htm"
                                       title="Ubuntu下Java环境的搭建" target="_blank">Ubuntu下Java环境的搭建</a>
                                    <span class="text-muted">macroli</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a>
                                    <div>配置命令: 
  $sudo apt-get install ubuntu-restricted-extras 
  再运行如下命令: 
  $sudo apt-get install sun-java6-jdk 
  待安装完毕后选择默认Java. 
  $sudo update- alternatives --config java 
  安装过程提示选择,输入“2”即可,然后按回车键确定。 </div>
                                </li>
                                <li><a href="/article/3479.htm"
                                       title="js字符串转日期(兼容IE所有版本)" target="_blank">js字符串转日期(兼容IE所有版本)</a>
                                    <span class="text-muted">qiaolevip</span>
<a class="tag" taget="_blank" href="/search/TO/1.htm">TO</a><a class="tag" taget="_blank" href="/search/Date/1.htm">Date</a><a class="tag" taget="_blank" href="/search/String/1.htm">String</a><a class="tag" taget="_blank" href="/search/IE/1.htm">IE</a>
                                    <div>	/**
	 * 字符串转时间(yyyy-MM-dd HH:mm:ss)
	 * result (分钟)
	 */
	stringToDate : function(fDate){
		var fullDate = fDate.split(" ")[0].split("-");
		var fullTime = fDate.split("</div>
                                </li>
                                <li><a href="/article/3606.htm"
                                       title="【数据挖掘学习】关联规则算法Apriori的学习与SQL简单实现购物篮分析" target="_blank">【数据挖掘学习】关联规则算法Apriori的学习与SQL简单实现购物篮分析</a>
                                    <span class="text-muted">superlxw1234</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E5%85%B3%E8%81%94%E8%A7%84%E5%88%99/1.htm">关联规则</a>
                                    <div>关联规则挖掘用于寻找给定数据集中项之间的有趣的关联或相关关系。 
关联规则揭示了数据项间的未知的依赖关系,根据所挖掘的关联关系,可以从一个数据对象的信息来推断另一个数据对象的信息。 
例如购物篮分析。牛奶 ⇒ 面包 [支持度:3%,置信度:40%]  支持度3%:意味3%顾客同时购买牛奶和面包。   置信度40%:意味购买牛奶的顾客40%也购买面包。   规则的支持度和置信度是两个规则兴</div>
                                </li>
                                <li><a href="/article/3733.htm"
                                       title="Spring 5.0 的系统需求,期待你的反馈" target="_blank">Spring 5.0 的系统需求,期待你的反馈</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>        
       Spring 5.0将在2016年发布。Spring5.0将支持JDK 9。 
  
       Spring 5.0的特性计划还在工作中,请保持关注,所以作者希望从使用者得到关于Spring 5.0系统需求方面的反馈。 
 </div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>