服务器端知识框架

来源:互联网 发布:js两数字相加 编辑:程序博客网 时间:2024/06/08 08:14

服务器端知识框架

B/S和C/S

C/S 客户端/服务器

软件应用需要安装

B/S 浏览器/服务器架构

 

B/S 运行流程:

浏览器发送基于HTTP协议的请求交给服务器,服务器接收并处理请求,返回响应给浏览器服务器端就包含数据以及处理数据的程序

 

Servlet诞生

服务器端处理请求的一种软件技术

Servlet无法主动运行,需要servlet容器驱动servlet执行

常见的容器:jettytomcat

Tomcat容器:container容器,EngineHostContext(和web应用一对一

运行

1产生一个standardContext对象

2、激活一个ContextConfig对象(解析XML文件)

3、解析web.xml 文件生成WEBXML对象到了servlet3.0以后还会解析是否有annotation

4、WEBXML对象属性信息设置到Context容器当中<load-on-startup>1</>)

5、把servlet包装成standardWrapper,添加到Context容器中

6Mapper类映射路径servlet实例化 wrapper.loadServlet,利用反射newInstance())进行实例化

7.初始化,调用init()方法,产生一个servletConfig对象,servletRequestservletResponse,再加上servletContext,调用service方法,根据请求方式调用get或post

8、tomcat容器关闭时,调用destroy方法销毁servlet对象

 

Servlet知识点:

 

HTTP请求方式

getpost

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、pageapplicationexceptionpageContextconfigrequestresponsesession

四大作用

Page作用域范围在当前页面中

Request作用域:一次请求中经历的文件都可以取到

Session作用域:作用范围是一次会话当中所有的文件都可以取到,但关闭浏览器代表会话结束,如果没有重新设置,则无法再取到原来的内容,tomcat容器设定长时间不响应的作用时长是30分钟自动关闭会话

Application作用域应用程序启动到最后关闭之间有效

 

Sessioncookie

Session表示一次会话,把会话的共享数据保存在session对象当中,域对象功能

原理:依赖cookie

会话开启后,服务器创建一个sessionID(全世界唯一)设置到浏览器的cookie当中

该浏览器发送的请求往服务器的session里设置值时,服务器就会以该sessionID做区分来保存session。SessionID:session对象

Cookie服务器给浏览器的小饼干,由服务器创建,设置到浏览器当中

来自于响应对象(response

使用方式:自查

一个服务器最多在客户端保存20cookie

一个浏览器最多保存300cookie

Cookie的生命周期:默认的生命周期类似于session,不过可以自行设定cookie的保存时间

 

MVC

Sun公司为了便于高效的开发web工程,创建了两种架构模式:model1、model2

 

Model1:浏览器请求—>jspàjavabean(dao层或者service层中的方法)-à数据库

最后jsp获取到数据再返回响应

 

Model2:浏览器发送请求—>jsp/servlet—>javabean-à数据库

最后servlet/jsp返回响应

 

 

MVCModel  View  Controller

Model:处理数据和业务pojodaoservice

Controller控制层,接收请求、调用model层对应的处理方式、返回响应(中介,servlet

View层:视图层,负责展示数据和发送请求jsp页面

 

EL表达式:

Expression Language

起源于jstl1.0,减少jsp当中Java代码

替代掉了<%=  %>

主要用途:读取作用域中的值 ${属性值}

注意:尽量不要作为脚本语言js的输出使用

 

 

Jstl标签

Jsp standard Tag Library

Javaee5标准技术

五大标签库

Coreif,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")

 


原创粉丝点击