JavaWeb学习心得之Tomcat服务器(二)
来源:互联网 发布:eplan2.6破解软件 编辑:程序博客网 时间:2024/05/31 06:23
一、打包JavaWeb应用
在Java中,使用“jar”命令来对将JavaWeb应用打包成一个War包,使用如下:
执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应用打包成一个war包,然后将这个war包放到Romcat服务器的
webapps目录下,当Tomcat服务器启动时,就会自动将webapps目录下的war包解压。使用如下:
Tomcat服务器启动后会自动“Deploying web application”,将这个war包文件解压,如下图:
二、Tomcat的体系结构
Tomcat服务器的启动时基于一个server.xml文件的,Tomcat启动的时候首先会启动一个Server,Server里面就会启动,Server里面就会启动Server,Server里面就会启动多个“Connector(连接器)”,每个连接器都在等待客户连接,每个连接器都在等待客户机的连接,当有用户使用浏览器去访问服务器上面的web资源时,首先连接到Connecor,Connector是不处理用户请求的,而是将请求交给Engine(引擎)处理,引擎接收到请求后就会解析,并将请求交给相应的host,host收到请求后会解析出用户想要访问的是哪个web应用,一个web应用对应一个Context。
<?xml version='1.0' encoding='utf-8'?><Server port="8005" shutdown="SHUTDOWN"> <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore" keystorePass="123456"/> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> <Host name="www.hanxin.com" appBase="F:\JavaWebApps"> <Context path="" docBase="F:\JavaWebApps\JavaWebDemo1"/> </Host> </Engine> </Service></Server>
三、互联网加密原理
Tomcat服务器的连接器分为加密连接器和非加密连接器。上面8080端口用的是非加密连接器(之前的例子用的都是非加密连接器,不多说了)。要配置加密连接器就要弄清楚加密原理。
加密有两种形式:
1.对称加密
采用单钥密码系统,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称加密通常在信息发送方需要加密大量数据时使用,对称性加密也成为密钥加密。
所谓对称,就是采用这种加密方法的双方使用同样的秘钥进行加密和解密。秘钥是控制加密和解密过程的指令。算法是一组规则,规定如何进行加密和解密。
加密的安全性不仅取决于加密算法本身,秘钥管理的安全性更重要。因为加密和解密都是用同一个秘钥,如何把密钥安全的传递到解密者手上就成了必须要解决的问题。
常用的对称加密有:DES、IDEA、RC2、RC4、SKIPJACK、RC5、AES算法等。
2.非对称加密
非对称加密算法需要两个秘钥:公开秘钥和私有秘钥。公开秘钥与私有秘钥是一对,如果用公开秘钥对数据进行加密,只有用对应的私有秘钥才能解密;如果私有秘钥对数据加密,那么只有用对应的公开秘钥才能解密。因为加密和解密使用的是两个不同的秘钥,所以这种算法叫做非对称加密算法。
非对称加密工作原理:
- A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。
- A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。
- A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。
- A将这个信息发送给B
- B收到信息后,B用自己的私钥解密A的信息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore" keystorePass="123456"/>keystoreFile="conf/.keystore" 用来指明密钥库文件的所在路径
keystorePass="123456"指明密钥库的访问密码
由于密钥库里面的证书是我们手工生成的,没有经过CA的认证,所以使用"https://localhost:8443/"访问8443的加密连接器,浏览器会出现"证书错误,导航已阻止",浏览器认为当前要访问的这个主机是不安全的,不推荐继续访问,点击就可以继续访问了,如下图所示:
- JavaWeb学习心得之Tomcat服务器(二)
- JavaWeb学习心得之Tomcat服务器(一)
- JavaWeb学习心得之开发环境搭建(Tomcat服务器)
- JavaWeb学习心得之Servlet(二)
- JavaWeb开发之二:Tomcat服务器
- JavaWeb学习心得之自定义简单标签(二)
- Tomcat服务器之于javaweb
- JavaWeb学习心得之Servlet(一)
- JavaWeb学习心得之Cookie
- JavaWeb学习心得之session
- JavaWeb学习心得之Web简介
- JavaWeb学习心得之Http协议
- JavaWeb学习心得之HttpServletResponse对象
- JavaWeb学习心得之HttpServletRequest对象
- JavaWeb学习心得之JSP原理
- JavaWeb学习心得之JSP指令
- JavaWeb学习心得之JSP标签
- JavaWeb学习心得之EL表达式
- AsyncTask源码解析
- 在Python中运行自定义包或模块
- linux目录
- Effect(十一)—— SkillAreaEffect
- redis info命令详解
- JavaWeb学习心得之Tomcat服务器(二)
- session 存储登录信息,超5次等待1分钟
- iview组件使用总结
- C语言——产生一个随机字符或者随机数
- 打印两个有序链表的公共部分
- java线程
- C++ 虚析构函数
- NOIP 模拟题 消失的数字
- Android压力测试三 MonkeyRunner