Web应用程序基础知识总结
来源:互联网 发布:mac vpn pptp 编辑:程序博客网 时间:2024/05/21 12:43
1.1
1.1.1
关于HTML
客户端-浏览器(Browser)
服务器端-HTTP服务器 对本书来说,服务器上的文件或资源必须产生HTML
1.1.2
URL,URN.URI
URL Uniform Resource Locator
简而言之,URL代表资源的地址信息
主要格式:<协议>:<特定协议部分>
例:http://openhome.cc:8080/Gossip/index.html
URN Uniform Resource Name
URN代表某个资源独一无二的名称。
URI Uniform Resource Identifier
URL与URN成为URI的子集。
1.1.3
关于HTTP
指架构在TCP/IP之上应用层的一种协议。(两台计算机见通信沟通的方式)
两种特性:
1.基于请求/响应模型
2.无状态通信
每次联机只做一次请求/响应,没有请求就没有相应。
对于编写servlet或jsp而言,最常用的就是GET和POST请求方法。
1. GET请求
·HTTP所有通信数据都是使用“字符”来进行协议交换。
·请求参数通常是用户发送给服务器的必要信息。
请求参数是在URL后跟一个?,然后name=value,多个参数间用&链接。
·用GET时浏览器地址栏上也会出现请求参数信息。
·GET请求可以发送的请求参数长度有限,对于太大量的数据并不适合用GET方式来进行请求,这时候可以改用POST。
2. POST请求
·此时地址栏不会出现请求参数。对一些较敏感的信息可以改用POST方式发送。
3. 如何选择这两种方式
(通过设定<form> 的method来设定,:method=”get”)
·推荐使用POST情况:
请求参数过长
有敏感信息
有些浏览器依据网址缓存数据,不希望服务器状态改变,而仍然从缓存中得到旧的资料,则可用post
用于非等幂(可能会影响服务器上的数据或者状态)
·推荐使用GET情况:
POST请求无法加入浏览器的书签。而你希望可以让用户设定书签。
用于等幂操作(请求的操作不改变服务器状态,同一个操作重复多次,传回同样的结果)
1.1.4有关URL编码
1. 保留字符
·在URI中使用保留字符时用百分比编码
%后加十六进制数值(用到时查表)
·使用工具
String text= URLEncoder.encode(“XXXXXXX”,”ISO-8859-1”);
相对应,可以使用decode();译码
·在URI规范中,空格编码为%20
在HTTP规范中,空格为”+”,encode()产生字符串为”+”
2. 中文字符
·浏览器会自动显示中文字符,但是URI使用参数时应使用UTF-8编码
·String text= URLEncoder.encode(“中文”,”UTF-8”);
1.1.5动态网页与静态网页
静态网页:服务器不对网页文件做任何处理
动态网页:经过服务器上的程序处理(CGI,PHP,ASP)
1.2
JVM是java程序唯一认识的操作系统,其可执行文件为.class文件
Web容器是SERVLET/JSP唯一认得的HTTP服务器
1.2.1何谓web容器
容器不仅持有对象而且负责对象生命周期与相关服务的连接。
·容器收到http请求会剖析http请求内容创建各种对象
·容器根据请求的URL决定调用哪个servlet
·容器将响应转换为http响应并传回客服端
·当一个请求到来时,Web容器为每个请求分配一个线程
1.2.2 servlet与jsp联系
Jsp最终会被容器转译为servlet的”.java“源文件,编译为”.class“文件,然后加载到容器中,提供服务的还是servlet容器的instance。
·servlet必须继承HttpServlet
·输出时通过java的输出功能
·servlet主要从事程序逻辑的定义,尽量不要出现界面输出
Jsp转译后的servlet的类继承了HttpJspBase 而HttpJspBase继承自HttpServlet
1.2.3关于MVC/MVC2
模式 (model) ,视图(view),控制(controller)
由于HTTP服务器不可能主动对浏览器做出响应,途中步骤3做不到,故形成 Model 2架构
- Web应用程序基础知识总结
- Web应用程序基础知识
- Web应用程序基础知识
- web基础知识总结
- .net web开发基础知识总结
- 应用程序基础知识
- Web前端开发基础知识--部分总结
- Web前端 基础知识总结(Javascript篇)
- Web 应用程序安全的思考和总结
- web基础知识
- web基础知识
- web基础知识
- web基础知识
- web基础知识
- Web基础知识
- Web基础知识
- Web基础知识
- web基础知识
- Linux常用命令
- 双十二,记得把EasyRecovery带回家
- Java注解详解
- C#实现贪吃蛇
- Java 方法参数传递方式
- Web应用程序基础知识总结
- IntelliJ IDEA 2017 注册方法
- sql语句中#{}和${}的区别
- ubuntu16.04下安装matlab2015b
- Angularjs date过滤器获得当前时间
- HTML项目实战程序
- virtualbox虚拟机与主机共享文件
- 【十八掌●基本功篇】第一掌:Java之多线程--2-join、同步、死锁、等待
- adonis命令模块学习笔记