###Web应用的演变
#规律
-单机向网络
-CS向BS
-CS:Client Server,需要单独开发客户端,并让用户单独安装它
-BS:Browser Server,用浏览器充当客户端,不需要单独开发和安装 以后毕业绝大部分都是BS方面的开发
###Servlet介绍
##服务器如何返回一个网页
#静态网页 (动态、静态是根据每个人看到的是不是一样的,一样就是静态网页)
-新闻页、百度百科
-服务器保存一份HTML,直接返回给浏览器即可
#动态网页
-淘宝、QQ空间、微博
-服务器保存一个组件(组件:满足规范的对象),通过它动态拼一个HTML
-在java中这个组件就是Servlet
##Servlet的特征
-Servlet是服务器端组件,必须保存在服务器上
-Servlet可以动态拼资源(HTML/IMG等),即处理HTTP协议
-Servlet必须满足Sun的规范。
##什么是Servlet
-Servlet是Sun推出的,用来在服务器端处理HTTP协议的组件。
###服务器
##名称(一个东西,只是叫法不同)
-Java服务器
-Java Web服务器
-Servlet容器
##本质
-是一个软件,需要安装在硬件上才能用
-和浏览器是平级的关系
##举例
-Tomcat(Apache)
-JBOSS
-WebLogic
-WebSphere
###如何使用Tomcat服务器
##独立运行 (软件上线时)
#下载及安装
-在Tomcat官网下载压缩包,解压后直接使用
#配置环境变量
-配置java_home
#启动Tomcat
-chmod+ x *sh
-Linux:打开/Tomcat/bin,终端输入命令./startup.sh
-Windows:打开/Tomcat/bin,双击startup.bat
#访问浏览器
-打开浏览器,输入网址:http://localhost:8088 (端口号默认是8080,已更改为8088)
-回车后,看到一只“猫则”代表访问成功
#关闭Tomcat
-不用时要关闭,避免重复启动出现问题
-Linux:打开/Tomcat/bin,终端输入命名./shutdown.sh
-Windows:打开/Tomcat/bin,双击shutdown.bat
##使用Eclipse运行Tomcat (开发阶段)
###Servlet开发步骤
#创建WEB项目
-目录:webapp/WEB-INF/web.xml
#导入jar包
-通过maven导入jar包,搜javaee
-使用服务器自带的jar包,右键项目,点击properties,target runtime-->勾选tomcat
#创建Servlet
-实现Servlet接口
-也可以继承HttpServlet,此类已实现Servlet接口
-实现/重写方法service(),在此方法内动态拼HTML
#注册Servlet
-注册Servlet,并声明别名
-通过别名,给此Servlet注册访问路径(可以理解为网名 以/开头)
#部署项目
-在Servers下选择Tomcat,右键Add and Remove
-在弹出框内左侧选中项目,双击移动到右侧
**部署就是拷贝
#访问Servlet
-启动Tomcat
-浏览器输入地址:http://ip:port/项目名/Servlet网名
#重新部署
-修改代码后,需要重新部署并重启Tomcat才有效
-点击Servers下面的Tomcat,右键publish,可以手动关闭Tomcat,再重启它,也可以等待Eclipse自动重启Tomcat(Reloading....)
###HTTP协议 HyperText Transfer Protocol
##什么是HTTP协议
-它规定了浏览器和服务器如何通信以及通信时的数据格式
-HTTP协议是无状态协议:一次请求一次连接,完成即断开,服务器没有记住浏览器
-状态:浏览器曾经访问过的任意数据(证据)
-某些业务中需要服务器记住浏览器:
-如:登陆时记住账号,再访问系统内其他页面时,都显示此账号
-跨浏览器:每个浏览器记录一份数据,不能用config和context
-跨请求:多次请求可以共用一份数据,不能用request
-Cookie和Session可以跨浏览器、及跨请求的解决此问题
-对比:
-Cookie:将数据存在浏览器上,容易被篡改,但服务器节约内存
-Seession:将数据存在服务器上,不会被篡改,但服务器压力大
-重要数据存到Session里,不重要数据存到Cookie里
##状态管理:客户端(浏览器)与服务器之间多次交互当做一个整体来看待,并且将多次交互所涉及的数据即状态保存下来。
-使用Cookie和Session记录数据,目的是让服务器记住浏览器曾经来过的状态,称为状态管理
-什么是Cookie?
-浏览器向web服务器发送请求时,服务器会将少量的数据以set-Cookie消息头的方式发送给浏览器,浏览器将这些数据保存下来;
当浏览器再次访问服务器时,会将这些数据以Cookie消息头的方式发送给服务器。
-什么是Session?
-浏览器访问Web服务器时,服务器会为每一个浏览器在服务器端的内存中分配空间,单独创建一个Session对象,该对象有一个Id属性,
其值唯一,一般称之为SessionId,并且服务器会将这个SessionId(使用Cookie的方式)发送给浏览器;浏览器再次访问服务器时,
会将SessionId发送给服务器,服务器可以依据SessionId找到对应的Session对象。
##如何通信:一次请求一次连接
-建立连接
-发送请求
-接收响应
-关闭连接
##数据格式
#请求数据包
-请求行:请求方式、Servlet路径(Servlet网名)、协议类型版本
-消息头:数据的描述信息
-实体内容:浏览器发送给服务器的数据
#响应数据包
-状态行:协议类型版本、状态码、状态描述
-消息头:数据的描述信息
-实体内容:服务器给浏览器发送的数据
##对开发的要求
-通信的方式已经由浏览器和服务器完成
-请求数据的打包由浏览器实现
-响应数据的打包由服务器实现
-开发需要提供浏览器发送给服务器的数据,以及服务器返回的数据
-服务器通过request对象接收请求数据
#规律
-单机向网络
-CS向BS
-CS:Client Server,需要单独开发客户端,并让用户单独安装它
-BS:Browser Server,用浏览器充当客户端,不需要单独开发和安装 以后毕业绝大部分都是BS方面的开发
###Servlet介绍
##服务器如何返回一个网页
#静态网页 (动态、静态是根据每个人看到的是不是一样的,一样就是静态网页)
-新闻页、百度百科
-服务器保存一份HTML,直接返回给浏览器即可
#动态网页
-淘宝、QQ空间、微博
-服务器保存一个组件(组件:满足规范的对象),通过它动态拼一个HTML
-在java中这个组件就是Servlet
##Servlet的特征
-Servlet是服务器端组件,必须保存在服务器上
-Servlet可以动态拼资源(HTML/IMG等),即处理HTTP协议
-Servlet必须满足Sun的规范。
##什么是Servlet
-Servlet是Sun推出的,用来在服务器端处理HTTP协议的组件。
###服务器
##名称(一个东西,只是叫法不同)
-Java服务器
-Java Web服务器
-Servlet容器
##本质
-是一个软件,需要安装在硬件上才能用
-和浏览器是平级的关系
##举例
-Tomcat(Apache)
-JBOSS
-WebLogic
-WebSphere
###如何使用Tomcat服务器
##独立运行 (软件上线时)
#下载及安装
-在Tomcat官网下载压缩包,解压后直接使用
#配置环境变量
-配置java_home
#启动Tomcat
-chmod+ x *sh
-Linux:打开/Tomcat/bin,终端输入命令./startup.sh
-Windows:打开/Tomcat/bin,双击startup.bat
#访问浏览器
-打开浏览器,输入网址:http://localhost:8088 (端口号默认是8080,已更改为8088)
-回车后,看到一只“猫则”代表访问成功
#关闭Tomcat
-不用时要关闭,避免重复启动出现问题
-Linux:打开/Tomcat/bin,终端输入命名./shutdown.sh
-Windows:打开/Tomcat/bin,双击shutdown.bat
##使用Eclipse运行Tomcat (开发阶段)
###Servlet开发步骤
#创建WEB项目
-目录:webapp/WEB-INF/web.xml
#导入jar包
-通过maven导入jar包,搜javaee
-使用服务器自带的jar包,右键项目,点击properties,target runtime-->勾选tomcat
#创建Servlet
-实现Servlet接口
-也可以继承HttpServlet,此类已实现Servlet接口
-实现/重写方法service(),在此方法内动态拼HTML
#注册Servlet
-注册Servlet,并声明别名
-通过别名,给此Servlet注册访问路径(可以理解为网名 以/开头)
#部署项目
-在Servers下选择Tomcat,右键Add and Remove
-在弹出框内左侧选中项目,双击移动到右侧
**部署就是拷贝
#访问Servlet
-启动Tomcat
-浏览器输入地址:http://ip:port/项目名/Servlet网名
#重新部署
-修改代码后,需要重新部署并重启Tomcat才有效
-点击Servers下面的Tomcat,右键publish,可以手动关闭Tomcat,再重启它,也可以等待Eclipse自动重启Tomcat(Reloading....)
###HTTP协议 HyperText Transfer Protocol
##什么是HTTP协议
-它规定了浏览器和服务器如何通信以及通信时的数据格式
-HTTP协议是无状态协议:一次请求一次连接,完成即断开,服务器没有记住浏览器
-状态:浏览器曾经访问过的任意数据(证据)
-某些业务中需要服务器记住浏览器:
-如:登陆时记住账号,再访问系统内其他页面时,都显示此账号
-跨浏览器:每个浏览器记录一份数据,不能用config和context
-跨请求:多次请求可以共用一份数据,不能用request
-Cookie和Session可以跨浏览器、及跨请求的解决此问题
-对比:
-Cookie:将数据存在浏览器上,容易被篡改,但服务器节约内存
-Seession:将数据存在服务器上,不会被篡改,但服务器压力大
-重要数据存到Session里,不重要数据存到Cookie里
##状态管理:客户端(浏览器)与服务器之间多次交互当做一个整体来看待,并且将多次交互所涉及的数据即状态保存下来。
-使用Cookie和Session记录数据,目的是让服务器记住浏览器曾经来过的状态,称为状态管理
-什么是Cookie?
-浏览器向web服务器发送请求时,服务器会将少量的数据以set-Cookie消息头的方式发送给浏览器,浏览器将这些数据保存下来;
当浏览器再次访问服务器时,会将这些数据以Cookie消息头的方式发送给服务器。
-什么是Session?
-浏览器访问Web服务器时,服务器会为每一个浏览器在服务器端的内存中分配空间,单独创建一个Session对象,该对象有一个Id属性,
其值唯一,一般称之为SessionId,并且服务器会将这个SessionId(使用Cookie的方式)发送给浏览器;浏览器再次访问服务器时,
会将SessionId发送给服务器,服务器可以依据SessionId找到对应的Session对象。
##如何通信:一次请求一次连接
-建立连接
-发送请求
-接收响应
-关闭连接
##数据格式
#请求数据包
-请求行:请求方式、Servlet路径(Servlet网名)、协议类型版本
-消息头:数据的描述信息
-实体内容:浏览器发送给服务器的数据
#响应数据包
-状态行:协议类型版本、状态码、状态描述
-消息头:数据的描述信息
-实体内容:服务器给浏览器发送的数据
##对开发的要求
-通信的方式已经由浏览器和服务器完成
-请求数据的打包由浏览器实现
-响应数据的打包由服务器实现
-开发需要提供浏览器发送给服务器的数据,以及服务器返回的数据
-服务器通过request对象接收请求数据
-服务器通过response对象向浏览器发送数据
待更新。。。。。。