一、JavaWeb简介
1、Java Web是用Java技术来解决相关web互联网领域的技术总和
2、Web包括web服务器和web客户端两部分
Java在客户端的应用有java applet(使用的很少)
java在服务器端的应用有比如Servlet,JSP和第三方框架等等
二、应用最多的两种网络应用程序开发体系
1、C/S体系结构(Client客户端/Server服务器)
在这种结构中,服务器通常采用高性能的pc机或工作站,并采用大型数据库系统
客户端则需要安装专用的客户端软件
优点:一对一,请求响应快
缺点:耗费资源
2、B/S体系结构(Browser浏览器/Server服务器)
在这种结构中,客户端不需要开发任何用户界面,而同一采用如IE、Firefox、Chrome等浏览器,
通过web浏览器向web服务器发送请求,由web服务器进行处理,并将处理结果逐级传回客户端。
优点:一对多,节省资源,维护升级简单
缺点:传输数据量大,服务器运行负载较重
三、Web应用程序工作原理
1、静态网站
静态网站使用HTML语言编写,放在Web服务器上,用户使用浏览器通过HTTP协议请求服务器上的Web页面,
服务器上的Web服务器将接收到的用户请求处理后发送给客户端,显示给用户。
2、动态网站
动态网站通常使用HTML语言和动态脚本语言(如JSP、ASP、PHP等)编写,并将编写后的程序部署到Web服务器上,
由Web服务器对动态脚本代码进行处理,并转化为浏览器可以解析的HTML代码,返回给客户端浏览器,显示给客户。
四、Web应用技术
1、客户端应用的技术
HTML语言、CSS、Flash和客户端脚本技术(JavaScript)
2、服务器端应用的技术
CGI(公共网关接口)
ASP(微软研发的技术)
PHP(开源的Web服务器脚本语言)
JSP(Java Server Page)
Servlet(Server和Applet的缩写)
五、HTTP协议(Hypertext Transfer Protocol,超文本传输协议)
1、HTTP协议的主要特点
·支持客户/服务器模式
·简单快速、灵活
·HTTP1.1支持长连接
当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次传输数据时会沿用这条连接
·无状态
HTTP协议对事物没有记忆,服务器不知道客户端的状态
2、HTTP之URL
HTTP URL格式:http://host[":"port][abs_path]
http:表示通过http协议来定位网络资源
host:表示合法的Interent主机域名或Ip地址
port:指定端口号,为空则使用缺省端口80
abs_path:请求资源的URI
3、HTTP请求
http请求由三部分组成:请求行、请求头、请求体
请求行由请求方式、URL、协议版本组成
请求头由报头域(名字+“:”+空格+值)组成
Referer:该请求头指明请求从哪里来,通常用来统计工作或防盗链
get方式没有请求体,请求参数直接写在请求行后面
4、HTTP响应
http响应由三部分组成:状态行、消息报头、响应体
状态行由协议版本、状态码、状态描述组成
Refresh:自动跳转,可以在页面通过meta标签实现,也可以在后台实现
六、Servlet的实现
1、创建动态web项目
2、新建类
3、实现Servlet规范(三种方式)
1、继承HttpServlet
2、继承GenericServlet
3、实现Servlet接口
4、重写service方法
5、配置web.xml
向服务器说明,特定请求对应特定资源
七、Servlet执行过程
客户端发出请求,根据web.xml文件的配置找到对应的读取中的值,找到对应的class并加载执行class,返回结果由web服务器响应给客户端
八、Servlet的生命周期
·实例和初始化时机
·就绪/调度/服务时期
·销毁时机
九、Servlet的配置
Servlet出了配置基本的访问信息,还可配置初始化参数、自启动等,并且一个Servlet可以配置多个访问路径,还可以使用通配符*
url-pattern可以配置多个,但多个Servlet不可以配置同一个url-pattern
"*"只能放最前面或最后面不能放中间且不能单独存在,以/分隔不能和单词组成整体,越精确越优先。