一:Web介绍
1.Web:网页,网络
2.Web应用:运行在网络上的应用程序
3.网络应用程序分类:C/S B/S
C/S 客服端(client)/服务器(server) 典型应用:QQ,YY
B/S 浏览器(browser)/服务器(server) 典型应用:sina,baidu
C/S的优点:
a.个性化更容易实现
b.更安全
c.占用网络资源少
B/S的优点:
a.更新方便
b.使用方便,到处可以使用
c.几乎不占用本地资源
4.B/S结构的模型:
浏览器 --请求:网络地址(url)--> 服务器
浏览器 <--响应:请求结果(html)-- 服务器
服务器:从两个方面来说的;
硬件服务器:就是一台强大的电脑
软件服务器:通过软件提供某一类服务的.如:数据库服务器,Web服务器,
这里主要讨论Web服务器
5.浏览器和服务器之间的对话如何开始的?
1)浏览器要知道服务器的地址,和浏览器想要的内容.(请求:rul)
2)浏览器和服务器要说同一种语言(HTTP)
HTTP:hyper text transport protocal 超文本传输控制协议;
浏览器:向服务器发送请求,并对服务器响应的结果进行展示
服务器:接受浏览器请求,并对浏览器的请求进行结果响应
6.如何对话?
1)在浏览器地址栏输入url
注:服务器在接受到浏览器的请求后,会对请求进行处理,并响应结果(html)
2)浏览器接受服务器响应结果(html)后,会将结果进行显示(网页)
7.Web应用程序:
静态网站:html语言编写,放在web服务器,用户发出请求,服务器处理请求并响应
动态网站:html语言和动态脚本语言(JSP,ASP,PHP)编写,部署到服务器上,服务器对脚本语言处理,转化为html代码
动态网页是指具有交互性,内容可以自动更新,并且内容会根据访问的时间和访问者而改变的网页.
8.Web应用程序的目录结构
Web应用程序: D: omcat7webapps目录下
WEB-INF目录:web应用配置目录,不能被客户端访问
classes目录:存放java字节码的文件
lib目录:存放web应用所需的jar包
web.xml文件:存放web应用的部署描述文件,该文件包含web应用的源数据信息
9.http协议
url通常由4个部分组成,url格式如下:
应用层协议:// 主机ip地址或web服务器域名:协议端口号 / 资源所在路径 / 文件名
端口:一个ip地址的端口可达65536个之多,端口号只有整数,范围从0到65535,修改过端口号后需要重新启动tomcat服务器
80端口是http协议默认的端口,在访问网络地址时可以省略该端口号; tomcat默认的服务端口为8080
http协议:如何在网络上传输超文本(html文档)的协议; 浏览器发出http请求,服务器做出http响应
http处理流程:
a.客户端和web服务器建立连接
b.发送请求
c.接受请求,生成http响应并发送给客户端
d.服务器关闭连接,客户端接受服务器端的响应,恢复页面(关闭连接后,不再存储连接信息,即http协议称为无状态协议)
http请求方式:
get请求方式:
仅能传送文本给服务器;
提交的数据会暴露再地址栏,不安全;
提交的数据不能超过2kb
post请求方式:
可以传送二进制数据,如音频,视频等文件
提交的数据不会暴露再地址栏,安全性高
提交的数据无限制
表单通过method属性来指明使用哪种请求方式,默认是get请求方式
二:tomcat
1.Web服务器:接受浏览器请求,进行结果响应
2.常见的Web服务器:Tomcat(apache), Weblogic, Websphere, Resin, JBoss 与 Jetty 联合使用
3.Tomcat下载
下载地址:www.apache.org
4.安装:
版本:安装版(需安装jdk,next,next...)
解压版(绿色版 推荐--配置)
需要配置环境变量:JAVA_HOME,CATALINA_HOME(tomcat目录)
5.启动:执行tomcat7instartup.bat
6.验证:在浏览器:http://localhost:8080
7.常见的错误:
1)tomcat与windows都是64位的,jdk是32位的
cmd: java -version :检查jdk版本
2)执行startup.bat一闪而过
tomcat.apache.org -Which version? :检查jdk版本和tomcat版本是否匹配
也可以在dos命令行去执行startup.bat命令;会将相关信息显示到dos窗口,
进而根据dos窗口的提示解决问题
例:jdk8,tomcat8一闪而过
Dos窗口提示配置环境变量:CATALINA_HOME
配置CATALINA_HOME:tomcat_home(在bin目录的上一级)
系统-->环境变量-->新建-->CATALINA_HOME-->D: omcat7
3)正常启动,但是不能访问?
原因:启动后关闭窗口
解决:重新打开,别关闭
如何将tomcat启动,设为从服务启动?
cmd: D: omcat7in (切换到这个目录)
安装: 输入:service install tomcat7Test (tomcat7Test是服务名,可以随便取值,默认为tomcat7)
service install
移除: 输入:service remove tomcat7Test(服务名)
service remove
4)Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"]
java.lang.Exception:Socket bind failed:[730048]
原因:端口号8080被占用
解决:
A)将tomcat端口号改变.
Tomcat安装目录:confserver.xml中71行
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
将8080改为其它端口,端口号可以是0-65535之间,建议大于1024
B)将占用8080端口的应用关闭
cmd:netstat -ano
查看到占用端口的对应应用的进程编号:pid
进入任务管理器--详细信息 找到后结束对应应用
8.关闭:执行bin/shutdown.bat (建议)
9.分析tomcat目录结构:
bin:存放常用的命令文件
conf:存放配置文件
lib:存放jar包
logs:存放日志文件
temp:存放临时文件
webapps:存放web应用程序(默认web应用发布目录)
work:存放由各种JSP所生成的Servlet文件(存放编译,运行后的文件)
conf里的配置文件:
context.xml 配置上下文环境,如JNDI,连接池
server.xml 配置服务器的信息,还有一些应用信息如端口号,虚拟路径
web.xml web应用服务的部署文件(查)
tomcat-users.xml 配置tomcat用户
10.如何在tomcat中部署一个应用
直接将静态项目放入webapps目录下,直接访问即可
http://localhost:8080/exam/zhuye.html
http://127.0.0.1:8080/exam/zhuye.html
http://192.168.11.236:8080/exam/zhuye.html
HTTP:协议 localhost:服务器ip地址或域名 8080:端口号 exam:项目名 zhuye.html:主页名
cmd:ipconfig/all ping www.jd.com
本机ip:111.176.55.48
讯腾本地局域网ip:192.168.11.236
11.url分析
http://localhost:8080/exam/zhuye.html
http协议是在tcp/ip之上
localhost:域名,域名就是ip的别名,比ip地址好记
localhost的配置:C:WindowsSystem32driversetcHOSTS文件
端口号:http默认端口是80端口.在开发中一般会指定位其它端口.
当项目名指定为根(ROOT)时,那么不用在url上写项目名称.
主页名(资源名):可以配置默认资源名(url上也可以不用写):在项目中添加项目部署文件
在项目的根目录添加WEB-INF目录,在WEB-INF目录添加web.xml文件.(web.xml可以去其它项目拷贝)
12.配置虚拟路径(配置tomcat虚拟发布目录,默认发布目录是webapps文件夹):
修改:Conf/server.xml
在倒数第四行内,在<host>标签下配置<Context>子元素,使用子元素中相关属性配置tomcat虚拟发布目录:
<Context path="/pro" docBase="E:javaWebHTMLHtmlProjectproject" />
path指定访问web应用的rul入口(rul中的项目名),docBase指明项目存放位置
清理浏览器缓存:ctrl+shift+delete
三:Myeclipse配置tomcat
Myeclipse配置tomcat:
a.window-preference-Myeclipse-server-tomcat 找指定版本
b.启动tomcat服务
MyEclipse开发java web程序流程:
1.新建Web Project项目
2.添加一个html页面(WebRoot文件下)
3.部署web项目(将web项目部署到tomcat容器中)
4.运行web项目(启动服务,访问web应用程序)
访问web应用程序的url格式为http://host:port/project/page
host:主机名(localhost) 或 本机ip地址(127.0.0.1)
port:端口号,默认是8080
project:部署的项目名称
page:访问的页面