WEB工程
1、那么什么是Web呢?
Web的意思是网页,我们在浏览器上看到的所有信息都被称为WEB资源。
WEB资源分为静态WEB资源和动态WEB资源。
静态WEB资源:代码不变,展示的内容就不变。eg:HTML、CSS、JS、图片、视频等。
动态WEB资源:展示的内容由程序控制。eg:JSP/Servlet、ASP、PHP、Ruby、Python等。
2、两种软件架构的比较 B/S和C/S
B/S是浏览器/服务器,通过浏览器与服务器交互,不需要安装其他应用程序。比如淘宝、京东等
这种架构的优点是:维护和升级简单,不用安装程序,减少了使用成本
缺点是:页面效果由服务器控制,对信息安全控制较差,服务器负担较重,AJAX可以改善用户体验
C/S是客户端/服务器,要求用户在电脑上安装应用程序。如斗地主等。
这种架构的优点是:效果好,用户体验好,信息安全性高,服务器端压力较小,部分计算在客户端完成
缺点是:对于用户而言占了硬盘空间,维护麻烦,需要不断升级客户端,安装依赖其他的软件。
3、WEB通信模式 请求-响应
1、浏览器需要查看服务器某个资源,就向服务器发送请求;
2、服务器接收到浏览器请求,处理请求;
3、服务器处理完毕,将处理结果响应回浏览器
4、浏览器根据响应,展示资源信息
注:必须先浏览器的请求, 才会有服务器的响应 请求和响应必须成对出现
4、请求路径URL,互联网资源的位置
格式:协议://域名:端口号/资源位置?参数=值
协议,http、https、ftp等 【必须写】
域名,域名或IP地址,都可以访问WEB资源【必须写】
端口号,程序必须使用端口号,才可以让另一个计算机访问。一般是8080端口。
资源位置,用于描述WEB资源再服务器上的位置。
参数=值,浏览器和服务器交互传递的数据
5、常见的WEB服务器
1、Tomcat:Apache组织提供一个免费的小型的服务器软件。支持Servlet和JSP规范。(要用到的)
2、WebLogic: Bea公司的一个收费的大型的服务器软件,后被Oracle收购。
支持EE的所有的规范运算能力较强、稳定性较高
3、WebSphere:IBM公司的一个收费的超大型的服务器软件,支持EE的所有的规范。
数据库使用DB2,机器使用IBM系列,用于银行、金融、证券,运算能力无人出其左右,稳定性极强
社区版:Geronimo
4、JBoss:是一个基于J2EE的开放源代码的应用服务器。
JBoss是一个管理EJB的容器和服务器,JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
Tomcat服务器
1、Tomcat 服务器是Apache旗下一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。支持Servlet和JSP 规范,且最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。
2、Tomcat的安装
第一步:下载
下载地址:http://tomcat.apache.org/whichversion.html
选择对应的系统版本即可。
第二步:解压下载好的文件
将解压后的文件移动到一个没有中文和空格的路径下
注:目录层次不要太深,且路径中不要有中文和特殊符号
3、tomcat目录结构
bin目录:脚本目录(存放启动,关闭服务器等命令)
shutdown服务器关闭 startup服务器开启
Conf目录:存放配置文件的目录
Lib:存放要使用的jar包
Logs:存放日志文件
Temp:存放临时文件
Work:jsp文件编译后生成的.java文件和.class文件存放的目录
4、服务器的启动和关闭
双击startup.bat,使用浏览器访问http://localhost:8080/,如果看到
代表访问成功
关闭:shutdown.dat正常关闭,关闭命令窗口或ctrl+c属于异常关闭
5、常见问题
服务器闪退问题,只有JAVA_HOME配置正确才可以正常启动服务器,JAVA_HOME配置请自行百度
端口号冲突问题:java.net.BindException: Address already in use: JVM_Bind
处理方式:1、关闭正在使用此端口的程序
cmd>netstat -ano 查看哪些程序占用了哪些端口,找到占用端口的程序
taskkill /pid 进程名 /f /f是强制杀死
2、更换端口号 server.xml文件中
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
6、WEB项目目录结构
项目名称
|-----静态资源.HTML,CSS,JS、图片、视频.....
|-----WEB-INF
|----web.xml 当前WEB项目的核心配置,Servlet2.5必须有,3.0可省略(使用注解)。
|----lib 当前WEB项目所需要的第三方的jar的存放位置。
|----classes Java源码编译后生成class文件存放的位置。Serlvet,service,dao,utils.相当于src目录
只要WEB项目符合规范,放置在webapps目录中,服务器就会将其顺利发布网络
注:WEB-INF是受保护目录,从浏览器不能直接访问,只有通过请求转发
7、如何发布项目到Tomcat中
方式一:
拷贝项目文件夹到tomcat的webapps目录中
方式二: 不建议使用,配置错误可能导致服务器无法启动
修改tomcat的server.xml
<Host> <Context path="/访问路径" docBase="D:/aaa"></Context></Host>
path 访问的虚拟路径
docBase 项目所在的真实路径
方式三:
在tomcat的 config/catalina/localhost/目录下创建 ***.xml
在 xml文件中:
<Context docBase=E:\ccc"></Context>
docBase 项目所在的真实路径 path不用写
虚拟路径就是这个xml文件的文件名
xml文件名可以用来分级 例如:xyz.xml 路径就是 xyz/
xyz#aaa.xml 路径就是 xyz/aaa/ #--------用来做分级
8、eclipse中使用tomcat
window-->preferences-->搜索server-->runtime Encironme-->add-->选择tomcat对应版本-->next-->Browse选择tomcat安装路径-->finish
这时,eclipse中的
有了这个服务器,注意:千万不要启动服务器
(如果没有这个窗口,可以在window-->show view-->servers调出)
双击Tomcat 会弹出一个配置页面
选择第二个,同时修改下方的Deploy path如图所示,修改完毕后ctrl+s保存关闭即可
右击Tomcat-->Add remove可以添加WEB项目,右击启动即可