Java WEB

java Web 总结
1.JSP运行原理
用户通过客户端浏览器向服务器发送请求。
JSP文件将JSP引擎编译成Java的class文件,即servlet。
将产生的servlet加载到内存执行。
Servlet的运行结果以HTML(或XML)形式通过web服务器返回客户端的浏览器。
2.web项目设计
公开目录;web_INF目录;Class目录;lib目录
3.JSP的基本语法
脚本元素:声明、脚本段、表达式。
脚本段:<%  %>
声明:<%!  %>不会产生任何输出内容→声明全局变量。
表达式:<%= %>
EL表达式:${ }
指令元素:<% @ %>不在客户端可见
page指令、include指令、taglib指令
page指令:language属性、contentType(text/html)、text/plain application/msword、application/x-msexecl、PageEncoding、info、import属性.
include指令:在JSP页面中静态包含一个文件 <@include file="  "%>
taglib指令: <%@taglib uri="标记库的uri地址" prefix="前缀名"%>
指令元素翻译阶段执行,动作元素执行阶段被执行。
<jsp:include>用于包含其他文件可以是静态文件,也可以是动态文件。
<jsp:include>…</jsp:include>包含动态文件时
用<jsp:param>传 (建一值)
4.指令与动作的区别(include)
指令<%@ include file=" "%>是编译时包含静态文件
动作<jsp:include page=" ">…</jsp:include>是运行时包含的文件
5.JSP九大内置对象
JSP中的9大隐式对象:指JSP对应的Servlet中的service方法中的局部变量。在编写java脚本时,直接可以拿来用。
request:HttpServletRequest
response:HttpServletResponse
session:HttpSession
application:ServletContext
config:ServletConfig
page:当前Servlet对象
exception:代表异常对象
out:JspWriter(response.getWriter)
pageContext:PageContext
6.四大域对象
page:PageContext  :当前页面:当前对象
request:HttpServletRequest 一次请求范围
session:HttpSession 一次会话范围
application:ServletContext 整个web应用范围
7.session和cookie的区别
存放地点不同
Session存放在服务器端,cookie存放在客户端的硬盘里
存活时间
session随用户访问服务器而产生,随客户下线或超时而消失
安全性
session存放在服务器端,不能被修改,客户端浏览器的关闭不会导致session的销毁,安全性较好。Cookie存放在客户端,安全性较差。
8.浏览器状态的保存方式:
1,隐藏表单的方式,但会破坏网页的结构布局,所以不采用
2,cookie,内容只能存4kb大小,存放在客户端中,是一个类
3,session会话,把数据存放在服务器,大小无限制
4,url重写(基于cookie和session)response.encodeUrl();实现url的重写
cookie类的方法:setValue与getValue,设置和获取cookie里的值
           setMaxAge可以设置cookie的保存时间
           getName可以获取cookie的键
cookie的运用:获取用户上次登录的时间,可以采取cookie
一个cookie只能标示一种信息,至少含有一个标示该信息的名称和值
session:是服务端技术,服务器在运行时可以为每一个用户的浏览器创建一个独享的session对象,session将产生一个sessionid传回给客户端,下次访问就用id去找session对象,取出数据.
Session中可以存放多个属性(包括对象)
如果session.setAttribute(name,value);中name相同,则会替换掉。
session的方法:
 1,如何创建session 
                HttpSession session = request.getSession()
 HttpSession session = request.getSession(true)
 HttpSession session = request.getSession(false)
如何使用session  set/get/remove(Attribute)
9.Servlet过滤器
Servlet过滤器是一种java组件,它位于客户端和处理程序之间
10.路径的配法:1精确匹配:/+路径名;2,扩展名:*.字符;3,路径映射:/*;4;默认匹配:/;
servlet的生命周期:只有一个对象,在容器的运行期间中;
注意:避免写全局变量,为了线程的安全考虑;
运行周期:1,类加载;2,实例化,产生对象;3INIT初始化;4,等待访问进入servlet;5,destroy()对象销毁,只进行一次;
11.请求转发:request.getRequestDispatcher("/login").forward(request,response);
请求转发和请求包含的区别:前者是将执行权全部移交,而后者是暂时移交执行权;
请求转发的运行过程是:1,客户端发送请求给服务器;2,服务器将请求转发个另一个servlet;3,指向后响应给前一个servlet;4,前一个servlet响应回客户端;

原文地址:https://www.cnblogs.com/freemrz/p/3857682.html