服务器端知识框架
来源:互联网 发布:js两数字相加 编辑:程序博客网 时间:2024/06/08 08:14
服务器端知识框架
B/S和C/S
C/S 客户端/服务器端
软件应用需要安装
B/S 浏览器/服务器架构
B/S 运行流程:
浏览器发送基于HTTP协议的请求交给服务器,服务器接收并处理请求,返回响应给浏览器,服务器端就包含数据以及处理数据的程序
Servlet诞生
服务器端处理请求的一种软件技术
Servlet无法主动运行,需要servlet容器驱动servlet执行
常见的容器:jetty、tomcat
Tomcat容器:container容器,Engine,Host,Context(和web应用一对一)
运行时
1、产生一个standardContext对象
2、激活一个ContextConfig对象(解析XML文件)
3、解析web.xml 文件生成WEBXML对象,到了servlet3.0以后还会解析是否有annotation
4、WEBXML对象属性信息设置到Context容器当中(<load-on-startup>1</>)
5、把servlet包装成standardWrapper,添加到Context容器中
6、Mapper类映射路径servlet实例化 wrapper.loadServlet,利用反射(newInstance())进行实例化
7.初始化,调用init()方法,产生一个servletConfig对象,servletRequest和servletResponse,再加上servletContext,调用service方法,根据请求方式调用get或post
8、tomcat容器关闭时,调用destroy方法销毁servlet对象
Servlet知识点:
HTTP请求方式:
get和post
form表单 method=”get/post” 查询的表单 method可以为get增删改的表单一律为post
get请求数据放在url路径上,以?分割,参数之间用&连接,就是放在请求头当中
post请求,数据放在请求体当中
超链接的请求<a href=”..servlet?id=dd&jfdkj=JHjdf”></a>发送的是get请求
Get请求大小有限制
Post理论上无限制
Get请求用于索取,post请求用于提交
Servlet请求转发与请求重定向
重定向是告诉浏览器重新发一个请求
请求转发是一个请求
相对路径的写法:先找同一级,再找对应的文件
重定向时,路径前面加斜线,是以服务器路径开始
请求转发时,路径前面加斜线,是以servlet上下文开始(从项目路径开始)
中文乱码处理
Dopost请求中可以使用request.setCharactorEncoding(“utf-8”);
Doget请求中需要设置tomcat配置文件server.xml URIEncoding=”utf-8”
JSP
来源:
servlet原来返回响应需要自己绘制页面,不方便
Jsp(java server pages)
运行流程
请求jsp页面à容器对jsp进行翻译(.java)à编译(.class)à执行返回响应
Jsp包含的元素
Html资源
指令元素 :<%@ %>
配置页面信息,不在页面当中显示
Page指令:配置页面编码,导入的包,语言规范等:<%@ page属性%>
Include指令:包含页面<%@ include file=”” %>,把其他页面包含进当前页面,包含进来之后再翻译执行
Taglib指令:标签库指令,引入某标签库到jsp中<%@ taglib uri=”” prefix=””%>
脚本
Jsp当中可以嵌入java代码 <% %>中
<%! >定义的变量翻译后是全局变量
<%=变量名 %> 可以在页面显示出Java变量的内容
动作元素
动作包含元素:<jsp:include 属性></jsp:include>
和指令包含元素的区别:指令元素是将目标页面包含进来之后再翻译执行
动作元素是等目标页面翻译执行之后再调用
注释
<%-- --%>
Html注释<!-- -- >
Jsp包含九大内置对象
Out、page、application、exception、pageContext、config、request、response、session
四大作用域
Page作用域:范围在当前页面中
Request作用域:一次请求中经历的文件都可以取到
Session作用域:作用范围是一次会话当中,所有的文件都可以取到,但关闭浏览器代表会话结束,如果没有重新设置,则无法再取到原来的内容,tomcat容器设定长时间不响应的作用时长是30分钟自动关闭会话
Application作用域:应用程序启动到最后关闭之间有效
Session与cookie
Session表示一次会话,把会话内的共享数据保存在session对象当中,域对象功能
原理:依赖cookie
会话开启后,服务器创建一个sessionID(全世界唯一)设置到浏览器的cookie当中
该浏览器发送的请求往服务器的session里设置值时,服务器就会以该sessionID做区分来保存session。SessionID:session对象
Cookie:由服务器给浏览器的小饼干,由服务器创建,设置到浏览器当中
来自于响应对象(response)
使用方式:自查
一个服务器最多在客户端保存20个cookie
一个浏览器最多保存300个cookie
Cookie的生命周期:默认的生命周期类似于session,不过可以自行设定cookie的保存时间
MVC:
Sun公司为了便于高效的开发web工程,创建了两种架构模式:model1、model2
Model1:浏览器请求—>jspàjavabean(dao层或者service层中的方法)-à数据库
最后jsp获取到数据再返回响应
Model2:浏览器发送请求—>jsp/servlet—>javabean-à数据库
最后由servlet/jsp返回响应
MVC(Model View Controller)
Model:处理数据和业务(pojo、dao、service)
Controller:控制层,接收请求、调用model层对应的处理方式、返回响应(中介,servlet)
View层:视图层,负责展示数据和发送请求(jsp页面)
EL表达式:
Expression Language
起源于jstl1.0,减少jsp当中Java代码
替代掉了<%= %>
主要用途:读取作用域中的值 ${属性值}
注意:尽量不要作为脚本语言(js)的输出使用
Jstl标签
Jsp standard Tag Library
Javaee5标准技术
五大标签库
Core:if,foreach,choose,when otherwise
Fmt:格式化内容,formatDate
Fn:字符串函数标签库 自学
Sql(已过时)
Xml(已过时)
使用方式:先引进包à[把标签库(.tld)放到web-inf文件夹下]—>页面引入对应的标签库às使用对应的标签
Ajax
允许浏览器和服务器之间通讯无需刷新页面的技术(异步js)
原始生命周期:创建XMLHTTPRequest,发起请求,跟踪请求状态,返回响应
Json格式{键值对们}
Jquery应用ajax
复杂写法:
$.ajax({json键值对(参数们)})
参数们:type(请求方式),dataType(数据传输类型(json)),url(请求路径),data(请求数据),success(通讯成功时,获取的响应)
$.ajax({
type:"post",
dataType:"json",
url:"LoginServlet2",
data:d,
success:function(data){
alert(data.resp);
}
});
简易写法:
$.post(路径,参数,function(data){},“json”)
$.post("LoginServlet2",d,function(data){
alert(data.resp);
},"json")
$.get用法同$.post
$.get("LoginServlet2",d,function(data){
alert(data.resp);
},"json")
- 服务器端知识框架
- 游戏服务器端框架学习
- 框架知识
- 框架知识
- 分布式游戏服务器端框架 Firefly
- 使用Flask框架构建服务器端
- C/S(客户端、服务器端)的知识
- Spring 框架知识知识总结
- 知识表示之框架
- 网络游戏整体知识框架
- 框架相关知识
- PureMVC框架知识介绍
- 网络游戏整体知识框架
- zend框架入门知识
- 框架知识记录。
- 知识框架图 存档
- ZK框架入门知识
- java集合框架知识
- TabLayout详解(实时更新,未完待续...)
- 关于JPA的简介
- syslog-ng详解——安装syslog-ng
- JRockit引起的证书问题
- js闭包
- 服务器端知识框架
- 7-3 7-4 正则化在线性回归和非线性回归
- Apache和Nginx的优缺点
- 关于乱码问题
- webpack3 针对一般项目用这份配置基本够了
- Python 2 和 Python 3 之间的区别
- 集成算法-Xgboost
- swap分区
- Java 三大特性是:封装,继承,多态