Web开发概述
WEB通信
WEB采用B/S通信模式,通过超文本传送协议(HTTP, Hypertext transport protocol)进行通信。通过浏览器地址栏编写URL,向服务器发送一个请求,服务器端根据请求进行相应的处理,处理完成之后,会向浏览器作出一个响应,及将服务器端资源发送给浏览器。
软件架构
C/S架构:Client/Server 客户端/服务器。要求客户端电脑安装一个客户端程序。
常见应用:QQ,迅雷,360,旺旺等
优点:
1. 用户体验好,效果炫
2. 对信息安全的控制较强
3. 应用服务器运行数据负荷较轻,部分计算功能在客户端完成。
缺点:
1. 占用硬盘空间
2. 维护麻烦
3. 安装使用依赖其他条件
B/S架构:Browser/Server 浏览器/服务器 。通过浏览器与服务器交互,不需要安装其他程序
常见应用:网银系统,淘宝,京东 12306 等
优点:
1. 维护和升级简单,无缝升级。
2. 不用必须安装程序,操作系统内置了浏览器。
缺点:
1. 动画效果受浏览器限制
2. 对信息安装控制较差。例如:网银就需要使用U盾,在浏览器端加密。
3. 应用服务器运行数据负荷较重。大部分计算都在服务器端,增加服务器压力。使用Ajax可以改善部分用户体验。
WEB资源介绍
静态资源:指web页面中供人们浏览的数据始终是不变。比如:HTML、CSS、JS、图片、多媒体。
动态资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。比如:JSP/Servlet、ASP、PHP
WEB服务器
JCP(Java Community Process)Java技术规范制定与更新的国际组织。主要维护规范包括:J2ME、J2SE、J2EE,XML等。
J2EE 企业级开发Java规范。标准规范包括:servlet、jsp、jdbc、xml、jta、javamail等。在java中规范就是接口。J2EE又称为JavaEE。
WEB服务器对JavaEE规范部分或全部支持,也就是WEB服务器实现部分或全部接口。
常见的WEB服务器:
1. Tomcat::Apache组织提供一个免费的小型的服务器软件。支持Servlet和JSP规范。
2. WebLogic:Bea公司的一个收费的大型的服务器软件,后被Oracle收购。支持EE的所有的规范
3. WebSphere:IBM公司的一个收费的大型的服务器软件,支持EE的所有的规范。
4. JBoss:是一个基于J2EE的开放源代码的应用服务器。JBoss是一个管理EJB的容器和服务器,JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
Tomcat 概述
Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
支持Servlet和JSP 规范,且最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。
Apache 软件基金会有两款常用软件:apache web 服务器 和 tomcat web服务器。
apache web服务器专门处理HTML页面的。
tomcat web服务器,不仅可以处理servlet和jsp,而且也能处理html页面,不过不如apache web服务器。
在开发中,一般使用tomcat处理servlet和jsp,使用apache服务器处理html页面。及apache和tomcat被整合在一起使用。
学习阶段,我们使用tomcat所有的特性
Tomcat版本(了解)
tomcat 目前存在很多版本,希望大家了解tomcat的版本,从而知道自己的创建的项目使用的是几版本规范,不同版本的规范技术可能不同。我们学习的WEB5.0,Servlet规范2.5,tomcat至少使用6版本。
官网地址:http://tomcat.apache.org/whichversion.html
Tomcat版本 | Servlet版本 | JSP版本 | EL版本 | JavaEE版本 | JDK版本 |
9.0.x | 4.0 | 2.4? | 3.1? | ? | 8 (1.8) |
8.0.x | 3.1 | 2.3 | 3.0 | 7.0 | 7 (1.7) |
7.0.x | 3.0 | 2.2 | 2.2 | 6.0 | 6 (1.6) |
6.0.x | 2.5 | 2.1 | N/A | 5.0 | 5 (1.5) |
使用tomcat
安装
步骤一:下载一个tomcat服务器软件.
http://tomcat.apache.org/download-70.cgi
步骤二:解压下载好的zip文件.
将解压后的文件copy到一个没有中文和空格的路径下即可.
例如:D:\java\tomcat\apache-tomcat-7.0.68
目录结构
bin:脚本目录
启动脚本:startup.bat
停止脚本:shutdown.bat
conf:配置文件目录
核心配置文件:server.xml
用户权限配置文件:tomcat-users.xml
所有web项目默认配置文件:web.xml
lib:依赖库,tomcat和web项目中需要使用的jar包
logs:日志文件.
localhost_access_log.*.txttomcat记录用户访问信息,星*表示时间。
例如:localhost_access_log.2016-02-28.txt
temp:临时文件目录,文件夹内内容可以任意删除。
webapps:默认情况下发布WEB项目所存放的目录。
work:tomcat处理JSP的工作目录。
启动和访问
tomcat解压目录/bin/startup.bat 双击运行启动tomcat
web项目
在JavaEE规范中,WEB项目存在一定的目录结构,具体结构如下:
项目名称
|-----静态资源.HTML,CSS,JS
|-----WEB-INF
|----web.xml 当前WEB项目的核心配置,Servlet2.5必须有,3.0可省略。
|----lib 当前WEB项目所需要的第三方的jar的存放位置。
|----classes Java源码编译后生成class文件存放的位置。
通过eclipse(或者STS)发布web项目
配置Tomcat
步骤1:获得服务器运行环境配置,Window/Preferences/Server/RuntimeEnvironmen
步骤2:添加服务器
步骤3:选择服务器在硬盘的地址,然后所有的都是确定/Next/Finish
步骤4:完成成功
步骤5:设置发布位置
修改tomcat发布的位置
发布web项目
步骤1:项目右键/Run As/Run onServer
步骤2:选择WEB服务器执行程序。
步骤3:选择或添加文本框
Tomcat常见问题
JAVA_HOME的配置
如果没有配置JAVA_HOME环境变量,在双击“startup.bat”文件运行tomcat时,将一闪立即关闭。且必须配置正确,及JAVA_HOME指向JDK的安装目录
端口号冲突
当同一台计算机启动两个tomcat时,第二个tomcat将会在控制台抛异常,摘要信息如下:
严重: Failed toinitialize end point associated with ProtocolHandler["http-bio-8080"]
java.net.BindException: Address already in use:JVM_Bind <null>:8080
...
Caused by: java.net.BindException: Address alreadyin use: JVM_Bind
...
控制台将出现大量异常信息,描述的是3个端口被占用(8080、8009、8005 )
通过 $JAVA_HOME/conf/server.xml修改端口号。