Web后台
后台,指网站后台,有时也称为网站管理后台,是指用于管理网站前台的一系列操作,比如:产品、企业信息的增加、更新、删除等。(后台就是一个接收数据,然后和数据库合作进行增删改查操作)
Http协议:
OSI理想型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
TCP/IP:
- 物理层+数据链路层:mac+网线
- 网络层:ip
- 传输层:tcp
- 应用层:http、https
http协议是超文本传输协议,他的特点是无状态,无连接的
无状态:协议对事务处理没有记忆能力,如果后续处理要用到前面的信息,则他必须重传,这样会导致每次连接传送的数据量加大,但另一方面,在服务器不需要前面的信息时,他的应答就快
无连接:协议限制每次连接只能处理一个请求,服务器处理完客户请求,并收到应到后,即断开连接,采用这种方式可以节省传输时间
http协议版本:
- 1.0:一次请求,一次连接
- 1.1:一次请求,多个连接,保持连接,超时断开
- 2.0:一次请求,多个连接,多个线程
http消息结构:
请求:
- 请求行-请求啥?
- 请求头-谁请求?
- 请求正文-如果需要给后台传数据并且是post方法发数据,
响应:
- 状态行-怎么处理请求?
- 响应头-谁给我请求?
- 响应正文-响应的结果(资源)
URL:统一资源定位符
http:// +www.baidu.com+:80 + 资源路径 + get?请求数据
协议 域名 端口号
状态码: - 1**信息,服务器收到请求,需要请求者继续执行
- 2**成功,操作被成功接收并处理
- 3**重定向,需要进一步操作以完成请求
- 4**客户端错误,请求包含语法错误或无法
- 5**服务器错误,服务器处理请求的过程中发生了错误
web服务器:
- tomcat
- weblogic
Tomcat: - bin:存放启动和关闭Tomcat服务器的脚本文件
- conf:存放配置文件
- lib:存放支撑服务器的各种jar包
- logs:存放各种日志文件
- temp:存放各种临时文件
- webapps:存放web应用程序
- work:存放jsp
Tomcat和servlet关系:
Tomcat是servlet容器,负责创建,使用,管理,销毁项目中的多有servlet对象
如果客户端发送HTTP请求,Tomcat建立socket连接,解析请求的文本生产一个对应的httpservletrequest对象,再生成一个空的包含服务器部分信息的httpservletresponse对象,分析资源,如果资源是一个静态的,则直接把对应的静态文件变成响应正文封装到response对象中;再把response对象变成一个符合http协议的响应字符串通过socket发送客户端
第一部分:Servelt
第二部分:Jsp
jsp 技术:在网页中写Java(网页之前是java写的)
jsp 内置对象:request、response、session、page、pageContext、application、exception、ServletConfig、out
jsp 包含:
- 静态代码
- jsp表达式
- jsp脚本段
- jsp声明
- jsp注释
- jsp命令
- jsp标签
- El表达式
- jstl标签库
jsp表达式
<%= %>//把赋值符号右面的输出到网页上,相当于
out.writer();
jsp脚本段
<% %>//把java代码放到Jsp对应Java文件的Service方法中执行,都是局部代码
jsp声明
<%! %>//把java代码放到对应的Java类中,都是成员代码
jsp注释
<%-- --%>
jsp命令
<%@ %>
page:必须有,没有不叫jsp,整个jsp页面功能的配置
session="false" 内置的session对象关闭,但是依然可以通过request获取
errorPage="/NewFile1.jsp" 当期页发生异常跳转到哪页
isErroPage="true" 允许当前也作为异常处理页面拥有exception对象,必须和errorPage一起使用
import 引包,如果有多个包用逗号隔开
buffer 影响out对象缓存大小
autoFlush="true" 影响out流冲刷
isThreadSafe="true" 线程安全
isELIgnored="false" 开启el表达式 默认是开启
include:包含其他资源在当前jsp中
file:引入其他文件
include指令(命令)和include动作(标签)的区别??
include动作是生成两个文件,彼此独立互相不干扰,但是性能较慢;
指令生成一个文件,运行性能强,但是容易彼此配置项或者变量互相干扰
动作可以引其他项目的资源,指令必须本项目的资源
taglib:引入第三方/自定义标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
jsp标签/jsp动作
请求转发+传递参数
<jsp:forward page="/NewFile1.jsp">
<jsp:param value="xixi" name="haha"/>
</jsp:forward>
javabean:
<jsp:useBean id="s2" class="com.neuedu.bean.Student" scope="session" ></jsp:useBean>
//创建bean对象并且共享
<jsp:setProperty property="id" name="s2" value="2"/>
<jsp:setProperty property="name" name="s2" value="hehe"/>
//设置属性
<jsp:getProperty property="name" name="s2"/>
//获取属性值
El表达式:替代jsp表达式
${ }:对象,集合,共享变量,数据,运算表达式
el内置对象:
- pageScope //Scope是范围
- requestScope
- sessionScope
- applicationScope
- param
- paramValues
- initParam
- header
- headerValues
- cookie
- pageContext
作用:
1、获取数据
el表达式语句在执行时,会调用pageContext.findAttribute()方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回 " " 。
在el中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他相关信息。
<% pageContext.setAttribute("shuju","徐凤年");//数据
Student s1 = new Student();
s1.setId(1);
s1.setName("haha");
Student s2 = new Student();
s2.setId(1);
s2.setName("haha");
pageContext.setAttribute("duixiang",s1);//对象
List<Student> l = new ArrayList<Student>();
l.add(s1);
l.add(s2);
pageContext.setAttribute("jihe", l);//集合
%>
${shuju};//获取数据
${duixiang};//获取对象
${duixiang.getName()};//获取属性(变量)
${jihe.get(0).getName() }//获取集合
2、执行运算
利用el表达式可以在JSP页面中执行一些基本的运算关系、逻辑运算、和算术运算,已在JSP页面中完成一些简单的逻辑
3、获取Web开发常用对象
el提供了11个隐式对象,其中除了pageContext隐式对象对应pageContext外,其他隐式对象都是对应map类型。使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据。
${cookie.cookiename};//获取cookie中对应的值
${param.user};相当于<%=request.getParameter("user")%>
4、调用Java方法
el表达式语法允许开发人员自定义函数,以调用Java类的方法。