(JavaEE-02)Web服务器---Tomcat
博客专区 > _-Leon-_ 的博客 > 博客详情
(JavaEE-02)Web服务器---Tomcat
_-Leon-_ 发表于4年前
(JavaEE-02)Web服务器---Tomcat
  • 发表于 4年前
  • 阅读 298
  • 收藏 17
  • 点赞 0
  • 评论 3

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: Tomcat服务器

#Web开发 从今天开始,我们学习JavaWeb开发,那么什么是JavaWeb开发,就目前来看,JavaWeb涵盖的内容和所涉及的领域已经非常广阔了,简单来说,Web技术基本都是用来开发网站的,但是网站与网站的区别是非常大的。 JavaWeb技术应用:

  • 电子商务平台
  • 各种社区
  • 银行、电信领域以及各类金融行业的应用系统
  • 企业内部大型应用系统(ERP、CRM、OA等)
  • 大数据(以Hadoop为中心的技术群)
  • 搜索引擎(Nutch、Lucene、Solr等)
  • 云计算、云服务等

>Web开发已经是未来的大势所趋(WebQQ,ChromeOS,强悍的HTML5),不论现在是否进入到移动时代,但是未来必然是网络时代,所有的任何形式的客户端,都需要网络服务端来提供服务。所以学好Web开发,对未来非常有好处,发展前景非常好!

##Web资源 Web,它用于表示Internet主机上供外界访问的资源。Web资源分为两类:

  • 静态Web资源,比如HTML,一张图片等。指得是web页面中供人们浏览的始终不变的数据
  • 动态Web资源,指Web页面中供人们浏览的数据是由程序产生的,不同动作访问web页面看到的内容是不同的
  • 静态Web资源开发技术:HTML、CSS、Javascript
  • 动态Web资源常用开发技术:Servlet/JSP、ASP(ASPX)、PHP、Ruby、Python等等

>在Java中,动态Web资源开发技术统称为JavaWeb技术体系(使用JavaWeb技术开发动态Web资源)

##Web服务器 要学习Web开发,需要拥有一个台Web服务器,然后在Web服务器中开发Web资源,供别人浏览和使用。(服务器的概念) >一个Web资源(HTML),想让用户通过Internet来访问,就需要我们编写一些基于Internet传输规则的程序(这样的程序就是Web服务器),比如,通过使用Java网络编程的相关技术(网络套接字)就可以编写一个支持网络访问的程序,但是功能比较有限。Tomcat就是一个写好的支持网络访问的,功能强大的程序,它能对外提供Web资源的访问,所以它就是一个Web服务器,而它使用Java编写的,所以Tomcat就是一个JavaWeb服务器。

#Tomcat Tomcat是一个JavaWeb服务器,也称之为Web容器。 一个示例,启动tomcat,将一个Web资源放入Tomcat服务器,通过网络客户端,就可以直接访问该资源了。 ##常见的Web服务器

  • WebLogic,它是Oracle公司的产品(收费),是使用非常广泛的Web服务器,支持JavaEE规范
  • WebSphere,它是IBM公司的产品(收费,但是只要不商用,可以免费使用),支持JavaEE规范。
  • Tomcat,Apache公司产品(开源免费),支持全部的Servlet和JSP规范。

tomcat

##安装Tomcat

  • 首先下载Tomcat,选择正确的版本,推荐使用绿色安装版,也就是zip包版本
  • 绿色版无需安装,解压后就直接可以使用(切记不要将其放入到带有中文或空格的目录中!!!)
  • 进入tomcat解压包的 bin 目录,双击 startup.bat 如果能正常启动并且正常访问出现tomcat首页,就说明服务器安装成功了

##Tomcat安装常见问题 如果启动Tomcat出现报错,或者直接一闪而过,就说明Tomcat启动不了,环境有问题,常见问题有:

  • JAVA_HOME环境变量
  • 端口占用(netstat -ano),http协议工作默认端口:80
  • Catalina_home 环境变量,该变量告诉启动程序Tomcat在哪里,如果配置了该变量,那么启动的tomcat就以配置的为准,如果没有配置,启动程序会寻找自己所在的tomcat程序

>Tomcat的端口是可以修改的,通过conf文件夹中的server.xml文件第70行(不同版本位置不太一样,但是差不多)就可以修改。如果机器上还装有别的web服务器,很有可能会占用端口。要么修改别的web服务器的端口,要么直接将别的服务器关闭,如果进程关闭不了,那肯定是该进程是由某个服务在后台管理,那么就要先关闭该进程对应的服务,然后再关闭进程! >Tomcat可以安装成系统的服务,随着开机启动(真正上线以后的操作)

##Tomcat目录

Tomcat目录结构

#Web应用程序 Web应用程序是指浏览器访问的程序,通常也称为Web应用。Web应用通常是由多个静态web资源和动态web资源组成:

  • html、js、css
  • Jsp、Java程序、Jar包
  • 配置文件等

##虚拟目录映射 将上述这些web资源统一使用一个目录组织起来,这么目录就称为Web应用所在目录,Web应用开发完后,如果想提供外界访问,需要把web应用所在目录交给web服务器来管理,这个过程称之为虚拟目录映射

虚拟目录映射有三种方式:

  1. 在server.xml文件的host元素中设置,

<Context path="/xinsiku" docBase="D:\\xinsiku" />,注意在配置在host元素体中。

path用来指定虚拟目录名称,docBase用来指定Web应用所在目录

>如果将path配置成 ""空的字符串,那么该应用就是默认web应用。一个Context代表一个web应用,Context元素还可以用来配置一些别的资源(数据库连接池等)。

  1. 在conf文件夹中的Catalina文件夹中的localhost文件夹下,建立xml来配置(查看文档)

在这个文件夹中建立一个xml,该xml的名字就是虚拟目录名称,在该xml中只要配置docBase就可以了,这样配置的好处是不需要重启服务器就可以映射。 > * 这种配置方式还可以使用多级访问路径的配置方法来实现多级访问(foo#bar.xml) > * 默认的应用使用 ROOT.xml 来配置

  1. 自动映射:Tomcat服务器会自动管理webapps目录下的所有web应用,无需配置,可以直接访问

##Web应用的组织结构

在JavaEE规范中,不同类型的web资源是有严格存放规则的,不能乱放,否则会无法访问或启动失败。 web目录结构 在这些资源中,web.xml是非常重要的一个文件,我们使用它来管理整个web应用的相关配置,用它可以配置网站的首页、映射servlet、配置应用的监听器、过滤器等等。

##配置虚拟主机 在一个tomcat中可以放置多个网站,配置虚拟主机,就是配置多个网站。配置虚拟主机,使用host元素来配置:

<Host name="www.newthinkingcool.com" appBase="D:\ thinking" >
    <Context path="/mail" docBase="D:\thinking\mail"/>
</Host>

>可以配置多个虚拟主机 >配置默认的虚拟主机,在host的父元素<Engine>元素的属性中配置: defaultHost="localhost"

Tomcat体系结构图: Tomcat体系结构图

##其它问题

  • 画图演示web资源的访问过程
  • 将web应用发成war包:jar -cvf warname.war web应用所在目录
  • tomcat的reloadable配置(不推荐)

#Tomcat的加密配置

  • 密码学
  • 对称加密
  • 不对称加密
  • base64与MD5

##对称加密与不对称加密

对称加密

对称加密也成为单密钥加密,用的是同一个密钥,在传输中,信息被拦截,容易被破解。

不对称加密 不对称加密,拥有两把密钥。

  • 使用了不对称加密,数据依然会被拦截,但是几乎是无法破解的,只能用对应的私钥才能解密
  • 第三方可以拦截公钥的获取,将自己的公钥发送给接收方,这样接收方拿到非法公钥,编写密文,然后第三方再次拦截密文,用自己的私钥解密来窃取信息,为了解决这个问题,就出现了CA组织,数字证书。
  • 浏览器会去验证这个公钥(数字证书)是不是权威组织颁发的,如果不是,则会提示危险警告
  • 即便有了CA,但是第三方任然能截取数字证书信息,然后伪装成发送者给接收方发送信息,为了解决这个问题,就要使用双向密钥验证,也叫双向证书。

###双向证书 双向证书 ##Tomcat的加密连接 Tomcat的加密连接需要使用一个口令:keytool -genkey -alias tomcat -keyalg RSA

  • 使用keytool工具生成密钥库
  • 将密钥库放入conf文件夹
  • 修改server.xml,启动安全连接 > * 找到8443端口的连接器,去掉注释 > * 如果是tomcat7,修改 protocol="org.apache.coyote.http11.Http11Protocol" ,因为tomcat7默认使用的是APR,APR是SSL的实现,还有一种实现是JSSE,这里改成JSSE,因为APR需要一些别的配置 > * 给连接器添加两个属性:keystoreFile,指定密钥库的存放地址, keystorePass,指定密钥库的密码。

#Tomcat服务器的管理平台

  • 用于远程管理tomcat下的web应用
  • tomcat-users.xml
标签: Tomcat
共有 人打赏支持
粉丝 11
博文 17
码字总数 34045
评论 (3)
湖心亭看雪
大神啊,我是菜鸟,求带啊
许雷神
厉害,支持
王爵nice
讲解的比较详细,顶一个0
×
_-Leon-_
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: