01 web开发入门

WEB开发的相关知识

WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。


Internet上供外界访问的Web资源分为:
静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。
动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
静态web资源开发技术
Html
常用动态web资源开发技术:
JSP/Servlet、ASP、PHP等
在Java中,动态web资源开发技术统称为Javaweb


学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。

常见WEB服务器

WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求

另一个常用的Web服务器是IBM公司的WebSphereAS,支持JavaEE规范

大名鼎鼎的红帽的产品,原来属于开源组织JbossAS,后被红帽收购。支持JavaEE规范,免费

在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的Web服务器:Tomcat,该服务器支持全部JSP以及Servlet规范

Tomcat简介

Tomcat是在SUN公司推出的小型Servlet/JSP调试工具的基础上发展起来的一个优秀的Servlet容器,Tomcat本身完全用Java语言编写。目前是Apache开源软件组织的一个软件项目,它的官方网址为http://tomcat.apache.org。得到了广大开源代码志愿者的大力支持,且可以和目前大部分的主流Web服务器(IIS、Apache服务器)一起工作,它运行稳定、可靠且高效。已成为目前开发企业JavaWeb应用的最佳Servlet容器选择之一。

Tomcat官方站点:http://tomcat.apache.org
获取Tomcat安装程序包
tar.gz文件是Linux操作系统下的安装版本
exe文件是Windows系统下的安装版本x86 x64
zip文件是Windows系统下的压缩版本 (建议)


常见启动问题


Java_home环境变量
在windows中设置java_home环境变量
只要在setclasspath.bat批处理文件第一次使用JAVA_HOME环境变量之前的任何地方,将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了。
端口占用问题(更改默认端口)
Catalina_home环境变量的设置问题  

Tomcat的目录结构

bin:存放启动和关闭 Tomcat 的脚本文件

conf:存放 Tomcat 服务器的各种配置文件

lib:存放 Tomcat 服务器的支撑jar 包

logs:存放 Tomcat 的日志文件

temp:存放 Tomcat 运行时产生的临时文件

webapp:web应用所在目录,即供外界访问的web资源的存放目录

work:Tomcat 的工作目录


javaWeb应用程序

WEB应用程序指供浏览器访问的程序,通常也简称为web应用。


一个web应用由多个静态web资源和动态web资源组成,如:
html、css、js文件
Jsp文件、java程序、支持jar包、
配置文件
……


Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射。


javaWeb的组成结构

开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错


mail:web应用所在目录

html,jsp,css文件等:这些文件一般存在web应用根目录下,根目录下的文件外界可以直接访问

webINF目录:java类、jar包、web应用的配置文件存在这个目录下,该目录下的文件外界无法非法直接访问,由web服务器负责调用

classes:java类

lib:java类运行所需要的jar包

web.xml:web应用的配置文件  web应用中,web.xml文件是其中最重要的一个文件,它用于对web应用中的web资源进行配置


Web组件的URL

无论是开放式目录结构还是打包文件方式发布web应用,web应用的默认URL入口都是Web应用的根目录名。例如要访问MyApp应用,它的URL入口为/MyApp,如访问本地服务http://localhost:8080/MyApp(http://127.0.0.1:8080/MyApp)

Tomcat的组成结构

Tomcat本身由一系列可配置的组件构成,其中核心组件是Servelt容器组件,它是所有其他Tomcat组件的顶层容器。每个组件都可以在Tomcat安装目录/conf/server.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素。以下用XML的形式展示了各种Tomcat组件之间的关系

Context元素

Tomcat6.x提供了多种配置<Context>元素的途径。当其加载一个web应用时,会依次按照以下五种方式尝试查找Web应用的<Context>元素,直到找到为止:
1)到Tomcat安装目录/conf/context.xml文件中查找<Context>元素。
2)到Tomcat安装目录/conf/[enginename]/[hostname]/context.xml.default文件中查找<Context>元素。
[enginename]:表示<Engine>的name属性
[hostname]:表示<Host>的name属性。
3)到Tomcat安装目录/conf/[enginename]/[hostname]/[contextpath].xml文件中查找<Context>元素。
[contextpath]:表示单个Web应用的URL入口。

4)到Web应用的META-INF/context.xml文件中查找<Context>元素。
5) 到Tomcat安装目录/conf/server.xml文件中查找<Context>元素。只适用于单个Web应用。
如果仅仅为单个Web应用配置<Context>元素,可以优先采用第三种配置方式。


配置虚拟主机

假如两家公司Web应用都发布在同一个Tomcat服务器上,可以为每家公司分别创建一个虚拟主机
www.msn.com.cn               www.sina.com 
  尽管以上两个虚拟主机位于同一个主机,但是当客户通过以上两个不同虚拟主机名访问Web应用时,会感觉到这两个应用分别拥有独立的主机
如需在WEB服务器中配置一个网站,需使用Host元素进行配置,例:
<Host name=”site1” appBase=”c:\app”></Host>
配置的主机(网站)要想被外部访问,必须在DNS服务器或windows系统中注册。
配置多个网站。
缺省虚拟主机。

Web应用的生命周期

用Tomcat的管理平台管理Web应用的生命周期
Tomcat的管理平台是Tomcat本身的一个Web应用,管理平台对应manager应用,它位于Tomcat安装目录/webapps/manager目录下。
manager应用会对用户进行安全验证。它要求用户具有manager角色。因此,应该先在Tomcat中添加具有manager角色的用户信息,方法为打开Tomcat安装目录/conf/to mcat-users.xml文件,在其中增加以下内容:
<tomcat-users>
<role rolename=”manager”/>
<user username=”tomcat” password=”tomcat” roles=”manager”/>
</tomcat-users>


在Tomcat中配置SSL

在网络上,信息在由源主机到目标主机的传输过程会经过其他计算机,网络上的信息有可能被非法分子监听,从而导致个人隐私泄露。随着电子商务的发展,对信息安全的要求越来越高,于是Netscape公司提出了SSL(Server Socket Layer)协议,旨在达到在开放网络(Internet)上安全、保密地传输信息的目的。
SSL是一种保证网络上的两个节点进行安全通信的协议,建立在SSL协议上的HTTP被称为HTTPS协议。HTTPS使用的默认端口是443。SSL采用加密技术来实现安全通信,保证通信数据的保密性和完整性,并且保证通信双方可以验证对方的身份。
加密技术的基本原理是:数据从一端发送到另一端,发送者先对数据加密,然后再把它发送给接受者。这样,在网络上传输的是经过加密的数据,如果有人非法截获了这批数据,由于没有解密的密钥,就无法获得真正的原始数据。接收者收到加密的数据后,先对数据解密,然后再处理。

SSL通过安全证书来证明客户或服务器的身份。当客户通过安全的连接和服务器通信时,服务器会先向客户出示它的安全证书,而每一个证书在世界范围内都是唯一的。
为了扩大用户群,一些服务器向客户出示证书后,并不要求客户出示安全证书,但在某些情况下,服务器也会要求客户出示安全证书,以便核实该客户的身份。


安全证书的获得有两种方式:
1、从权威机构获得证书
Certificate Authority,CA和VeriSign和Thawte,它们保证了证书的可信性。申请证书时,需要付费,且一个证书只针对一个IP有效。
2、创建自我签名的证书
如果只关心数据在网络上的安全传输,而不需要对方身份验证,可以创建自我签名的证书。与权威机构颁发的证书采用的加密技术是一样的。

可以根据安全需要,为Tomcat配置SSL,它包含以下两个步骤:
1、准备安全证书
2、配置Tomcat的SSL连接器(Connector)


创建自我签名的证书。


SUN公司提供了制作证书的工具keytool。在JDK1.4以上版本中都包含了这一工具。通过这个工具生成证书的命令为:
keytool -genkey -alias tomcat -keyalg RSA
以上命令将生成包含一对非对称密钥和自我签名的证书,这个命令中参数的意思
-genkey:生成一对非对称密钥。
-alias:指定密钥对的别名,该别名是公开的。
-keyalg:指定加密算法,此处采用通用的RSA算法。
以上命令将在操作系统的用户目录下生成名为”.keystore”的文件。
如果希望生成的keystore文件放在其他目录中,可以使用-keystore参数
keytool -genkey -alias tomcat -keyalg RSA -keystore d:\.keystore


配置SSL连接器
在Tomcat的servlet.xml文件中,已经提供了现成的配置SSL连接器的代码,只要把注释去掉即可
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
其他属性:
keystoreFile:指定keystore文件的存放位置,可以指定绝对路经。如果此项没有设定,在默认情况下,Tomcat将从当前操作系统用户的用户名目录下读取名为”.keystore”的文件。
keystorePass:指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用”changeit”密码。


访问支持SSL的Web站点
https://localhost:8443
当Tomcat接收到这一HTTPS请求后,会向客户的浏览器发送服务器的安全证书,IE浏览器接收到证书后,将向客户显示安全警报。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值