1,request: 作用范围只是一个请求 简单的来说就是请求的url改变了的话request就不起作用了
setAttribute() getAttribute() removeAttribute()
请求转发:request.getRequestDispatcher(url).forward(request, response);
getContextPath(); ---web应用的名称
getRemotePath();--- 获得访问的客户端IP地 址防盗链 startWiths(front);判断是否以front变量开头
getHeader(); ---获取请求头 通过请求变量名称获取对应的value值
getHeaderNames(); --- 获取请求头的请求变量名称
getParameter(); --- 获取请求体的信息 通过请求体的变量名称获取相应的value值
getParameterMap(); --- 将请求体的所有数据都封装成一个Map对象。
注:request.setCharacterEncoding("UTF-8"); 只能解决post提交方式出现的乱码问题;
想要解决get提交方式出现的乱码问题需要对每个获取的变量进行该处理
parameter = new String(parameter.getbytes("ios8859-1"),"utf-8");
UUID.randomUUID();生成32位随机字符串,Java中随机生成36位字符串
setAttribute() getAttribute() removeAttribute()
请求转发:request.getRequestDispatcher(url).forward(request, response);
getContextPath(); ---web应用的名称
getRemotePath();--- 获得访问的客户端IP地 址防盗链 startWiths(front);判断是否以front变量开头
getHeader(); ---获取请求头 通过请求变量名称获取对应的value值
getHeaderNames(); --- 获取请求头的请求变量名称
getParameter(); --- 获取请求体的信息 通过请求体的变量名称获取相应的value值
getParameterMap(); --- 将请求体的所有数据都封装成一个Map对象。
注:request.setCharacterEncoding("UTF-8"); 只能解决post提交方式出现的乱码问题;
想要解决get提交方式出现的乱码问题需要对每个获取的变量进行该处理
parameter = new String(parameter.getbytes("ios8859-1"),"utf-8");
UUID.randomUUID();生成32位随机字符串,Java中随机生成36位字符串
2,cookie:setMaxAge() s单位 将其设置为0即是销毁cookie 默认有效期为一次会话 浏览器的打开到浏览器的关闭。
setPath(); 设置携带cookie的访问范围 setPath("/") 表示访问整个tomcat发布的项目都携带该创建的cookie
response.addCookie();
注:cookie中不允许出现中文
session:request.getSession(); 获取Session 一个客户端对应一个Session(一个JESSIONID对应一个Session)
默认的有效期为三十分钟(web.xml上配置的) 我们这里还需要配置JESSIONID的有效期来保证这个Session的有效期(一个JESSIONID对应一个Session)
销毁:服务器关闭、session失效/过期、手动session.invalidate();
session作用范围:默认一会话中
setPath(); 设置携带cookie的访问范围 setPath("/") 表示访问整个tomcat发布的项目都携带该创建的cookie
response.addCookie();
注:cookie中不允许出现中文
session:request.getSession(); 获取Session 一个客户端对应一个Session(一个JESSIONID对应一个Session)
默认的有效期为三十分钟(web.xml上配置的) 我们这里还需要配置JESSIONID的有效期来保证这个Session的有效期(一个JESSIONID对应一个Session)
销毁:服务器关闭、session失效/过期、手动session.invalidate();
session作用范围:默认一会话中
3,jsp(本质是Servlet):Java脚本:<%Java代码%> <%=Java变量或表达式%> <%!Java代码%>(定义Servlet成员)
注释:html注释<!-- --> 查看jsp源码,翻译后的servlet,jsp编译
Java注释// /*多行注释*/ 翻译后的servlet,jsp编译
jsp注释<%-- --%> jsp编译
静态包含 <%@include file="被包含的文件地址"%> 整合成一个文件
动态包含 <jsp:include page="被包含的页面"/>
请求转发 <jsp:forward page="要转发的资源"/> 将两个文件连接
jsp内置的九大对象:out(javax.servlet.jsp.JspWriter) request(javax.servlet.http.HttpServletRequest)
response(javax.servlet.http.HttpServletResponse) config(javax.servlet.ServletConfig)
session(javax.servlet.http.HttpSession) application(javax.servlet.ServletContext)
page(java.lang.Object) pageContext(javax.servlet.jsp.PageContext)jsp的页面容器
exception(java.lang.Throwable)
(1)out缓冲区默认8kb 可以设置成0 代表关闭out缓冲区 内容直接写到respons缓冲器
(2)findAttribute(String name)---依次从pageContext域,request域,session域,application域中获 取属性,在某个域中获取后将不在向后寻找
四大作用域的总结:
page域:当前jsp页面范围
request域:一次请求
session域:一次会话
application域:整个web应用
注释:html注释<!-- --> 查看jsp源码,翻译后的servlet,jsp编译
Java注释// /*多行注释*/ 翻译后的servlet,jsp编译
jsp注释<%-- --%> jsp编译
静态包含 <%@include file="被包含的文件地址"%> 整合成一个文件
动态包含 <jsp:include page="被包含的页面"/>
请求转发 <jsp:forward page="要转发的资源"/> 将两个文件连接
jsp内置的九大对象:out(javax.servlet.jsp.JspWriter) request(javax.servlet.http.HttpServletRequest)
response(javax.servlet.http.HttpServletResponse) config(javax.servlet.ServletConfig)
session(javax.servlet.http.HttpSession) application(javax.servlet.ServletContext)
page(java.lang.Object) pageContext(javax.servlet.jsp.PageContext)jsp的页面容器
exception(java.lang.Throwable)
(1)out缓冲区默认8kb 可以设置成0 代表关闭out缓冲区 内容直接写到respons缓冲器
(2)findAttribute(String name)---依次从pageContext域,request域,session域,application域中获 取属性,在某个域中获取后将不在向后寻找
四大作用域的总结:
page域:当前jsp页面范围
request域:一次请求
session域:一次会话
application域:整个web应用
4,el&JSTL
EL表达式
从域中取出数据 ${域中存储的数据的name}
${pageContext.request.contextPath}
JSTL标签(核心库)
<%@ taglib uri=”” prefix=”c”%>
<c:if test=””>
<c:forEach items=”数组或集合” var=”数组或集合中的每一个元素”>
javaEE三层架构+MVC
web层:收集页面数据,封装数据,传递数据,指定响应jsp页面
service层:逻辑业务代码的编写
dao层:数据库的访问代码的编写
5,事务
MySQL事务控制:
开启事务:start transaction
提交:commit
回滚:rollback
JDBC事务控制
开启事务:conn.setAutoCommit(false);
回滚:conn.rollback();
提交:conn.commit();
DBUtils的事务控制
使用ThreadLocal:实现的是通过线程绑定的方式传递参数
EL表达式
从域中取出数据 ${域中存储的数据的name}
${pageContext.request.contextPath}
JSTL标签(核心库)
<%@ taglib uri=”” prefix=”c”%>
<c:if test=””>
<c:forEach items=”数组或集合” var=”数组或集合中的每一个元素”>
javaEE三层架构+MVC
web层:收集页面数据,封装数据,传递数据,指定响应jsp页面
service层:逻辑业务代码的编写
dao层:数据库的访问代码的编写
5,事务
MySQL事务控制:
开启事务:start transaction
提交:commit
回滚:rollback
JDBC事务控制
开启事务:conn.setAutoCommit(false);
回滚:conn.rollback();
提交:conn.commit();
DBUtils的事务控制
使用ThreadLocal:实现的是通过线程绑定的方式传递参数
隔离级别:
read uncommitted
read committed
repeatable read(MySQL默认)
serialazable(死锁)
6,dTree插件
d = new dTree('d');
d.add('01',-1,'系统菜单树'); //01代表本级节点的编号 -1代表根节点
d.add('0102','01','分类管理','','','mainFrame');//0102代表本级节点的编号 01代表父级节点
d.add('010201','0102','分类管理','${pageContext.request.contextPath}/admin/category/list.jsp','','mainFrame');//mainFrame表示显示位置
document.write(d);
使<a></a>失效:将href属性设置位javaScript:void(0);
修改时下拉框动态匹配:jQuery处理
$function(){
$("#cid option[value='${product.cid}']").prop("selected",true);
}
read uncommitted
read committed
repeatable read(MySQL默认)
serialazable(死锁)
6,dTree插件
d = new dTree('d');
d.add('01',-1,'系统菜单树'); //01代表本级节点的编号 -1代表根节点
d.add('0102','01','分类管理','','','mainFrame');//0102代表本级节点的编号 01代表父级节点
d.add('010201','0102','分类管理','${pageContext.request.contextPath}/admin/category/list.jsp','','mainFrame');//mainFrame表示显示位置
document.write(d);
使<a></a>失效:将href属性设置位javaScript:void(0);
修改时下拉框动态匹配:jQuery处理
$function(){
$("#cid option[value='${product.cid}']").prop("selected",true);
}