暑假第五周周记

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位字符串
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作用范围:默认一会话中
3,jsp(本质是Servlet):Java脚本:<%Java代码%>  <%=Java变量或表达式%>  <%!Java代码%>(定义Servlet成员)      
             注释:html注释  查看jsp源码,翻译后的servlet,jsp编译
        Java注释// /*多行注释*/  翻译后的servlet,jsp编译
        jsp注释<%-- --%>   jsp编译
 静态包含  <%@include file="被包含的文件地址"%>   整合成一个文件
    动态包含 
 请求转发     将两个文件连接
 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”%>
 
 
   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);
      使失效:将href属性设置位javaScript:void(0);
      修改时下拉框动态匹配:jQuery处理
 $function(){
        $("#cid option[value='${product.cid}']").prop("selected",true);
 }

你可能感兴趣的:(暑假第五周周记)