当前位置:
首页 >
第十次总结
发布时间:2023/12/20
41
豆豆
小题:
1.Js对象和Jquery对象如何相互转换 js:Dom操作:1)推荐:通过document对象的方法获取标签对象document.getElementById(“id属性值”)---标签对象ByTagName(“同名标签名称”)--节点列表ByClassName(“同名的class属性”)--节点列表ByName(“同名name属性值”)----节点列表 引入jq的js库通过${js对象}---Jquery对象 Jquery对象----js对象Jquery的基本选择器:idclasselement层级选择器:后代选择器:selectorl selector2子元素选择器:selector1》selector2$("id属性值").get(索引值)---->js对象使用js对象----获取标签文本中的文本内容:标签属性:innerHTMLJquery:获取标签的文本内容html():获取标签体内容html(“xxx”):设置标签体内容text():获取纯文本内容jq对象.val()input value=“xxxx” 2.Servlet中是生命周期init():初始化方法---在访问的时候创建对象并初始化service(HTTPServiceRequest request,HTTPServiceResponse response):业务服务方法destroy():销毁:服务器正常关闭 3.四个域对象分别是什么?以及范围 pagContext:当前jsp页面中有效 HTTPService request:在一次请求中有效 HTTPsession:在一次会话中有效 servletContext:当前项目下 4.final,finally,finalize的区别 final:状态修饰符修饰变量,该变量为常量,只可赋值一次,不能被更改修饰成员方法:该方法不可被重写修饰类:该类不能被继承 finally:捕获异常的一种标准格式try...catch...finally...finally中的代码一定会执行,除非jvm虚拟机提前终止 finalize:与GC垃圾回收器相关调用gc--调用finalize方法。回收没有更多引用的对象 5.Js中的数据类型 number-----对应js内置对象Number string------js内置对象String object------js内置对象Object boolean---js内置对象Boolean undefined:未定义,没有意义jquery的http()和text()
区别: http():获取标签属性的值 text():获取的是存文本属性操作:attr()/prop()方法
attr():可以为标签添加额外属性值 $(“#id属性值”).attr(“属性名称”,“值”);prop():js对象操作,也能为标签添加额外属性,但是不会显示在网页源码内 一般情况下推荐使用前者attr();WEB项目
数据库:表:用户表:相关成员变量商品表:product商品分类:加载首页---将商品分页信息展示手机数码办公........购物车:--将Cart存储session中订单表:order 项目模块:用户模块登录注册邮箱激活....商品模块:加载首页:商品分页信息展示商品分页查询扩展功能:使用cookie记住用户浏览过的商品id商品加入到购物车:(session中)封装一些方法addCart()deleteCart()订单模块:查询订单列表(分页查询)具体筛选查询....结算:---第三方支付原生Ajax的使用
1)创建浏览器的代理对象去Ajax文档看源码:XMLHttpRequest代码:var xmlhttp;if(window.XMLHttpRequest){xmlhttp=new XMLHttpRequest();}else{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}2)建立连接xmlhtt.popen(“提交方式”,“url地址”,是否是异步)例:xmlhttp.open("get","MyAjaxServlet?username=tom",true);3)发送异步请求代理对象.send()如果是post请求:将请求的参数:需要send(参数)get请求:直接url?参数名称=内容(写在浏览器的网址上)例:xmlhttp.send(); 4)接收请求对象携带过来的响应数据当前代理对象携带过来服务器的数据:响应的状态:0.请求未初始化1.服务器连接已建立2.请求已接收3.请求处理中4.请求已完成,且响应已就绪xmlhttp.onreadystatechange=function(){服务器响应状态:200以及当前代理对象:状态4if(xmlhttp.readyState==4&&xmlhttp.status==200){var str=xmlHttp.responseText;alter("弹窗"); }}小题:
1.传统事务的四个特点 ACID 原子性 一致性 隔离性 持续性 2.事务的隔离级别 1)读未提交 read uncommitted 2)读已提交 read committed 3)可重复读 repeatable read 4)串行话 serializable 3.mysql的隐式内连接和显式内连接 隐式:select 字段列表 from 表名1 别名1,表名2 别名2 where 别名1.字段=别名2.字段; 显示:select 字段列表 from 表名1 别名2 inner join 表名2 别名1 on 别名1.字段=别名2.字段; 4.session和cookie的区别 session:存储在服务器端存储的数据类型可是是任意的Java类型存储的数据没有限制相对cookie,比较安全 cookie:存储在浏览器端存储的数据类型有限制:只能是String类型存储的数据有限制:每个页面的cookie是有限的,20-30个相对session,不适合存储隐私属性5.获取反射的字节码文件对象的方式 1)任意Java类的class属性 2)类名.getClass 3)class.forName(“文件的路径”);1.请求转发和重定向的区别 请求转发:有业务数据时使用。 1)地址栏没有变化 2)属于服务器行为,在整个启动过程中,request对象是一致的 3)只能访问本工程下的资源文件,包括WIB-INF下的文件 4)业务数据:使用请求转发, 重定向:仅仅只是页面跳转不携带数据。 1)地址栏有明显变化 2)属于浏览器行为,在整个过程中,request对象不一致 3)不仅访问本工程下的资源文件,以及外部工程下的资源文件 4)页面跳转,不携带数据2.原生Jdbc的操作步骤 1)导入核心jar包 2)注册驱动 3)创建数据库连接对象 4)准备sql语句---参数化sql 5)创建预编译对象并对sql进行编译 6)给参数赋值 7)通用操作 executeUpdate()/executeQuery()---Request 8)关闭资源 3.Jquery的ajax发送异步请求的方式有几种 有三种: $.ajax({"url":value"type":"data":"success":function(data){}"error":fuction(data){}"dataTypa":服务器响应过来的数据格式 }) get提交 $.get{}(url,data,function(data){},"服务器响应过来的格式"....json/text/xml/html) post提交 $.post{}(url,data,function(data){},"服务器响应过来的格式"....json/text/xml/html) 4.有关Statement和PreparedStatement的区别 Statement:执行sql语句效率低执行的是静态sql语句存在sql凭借,就会出现SQL注入 PreparedStatement:执行sql前进行预编译(参数化sql)赋值时可以赋值不同的参数:执行效率高于Statement对象有效防止sql注入 5.Map集合的遍历方式有几种 keySet()---Set<K>获取所有键的集合在通过get(K k)---获取键对应的值 entrySet()---Set<Map.entry<K V>>:获取所有键值对对象getKey()getValue()加载首页,最新商品的展示
后台:indexServlet完成业务操作 ProductService ProductDaoselect * from product order by pdate limit 9;最新商品//热门商品:is_hot=1;通过商品id查询商品详细信息
点击最新商品/热门商品的某一个商品 xxx/product?findPreduestByIdpid=$(取出id值) findProduct//接收参数:商品id调用service,完善商品信息将商品Product存储在request域中请求转发到/jsp/product_info.jsp点击具体分类信息
head.jsp更改超链接地址findByPage?currentPage=1&cid=获取id值productService public String findByIdPage(请求对象,响应对象){//接收参数当前页码设置每页显示条数接收分类id调用service将PageBean对象存储到request域中请求转发到product_list.jsp}小题:
1.jsp表达式的四个域对象pageScoperesponseScopesessionScopeapplicationScope: 2.jsp的三大指令 <%@page> <%@include>:静态导入:不会对被导入的jsp文件进行编译和翻译<jsp:include/>动态包含 <%@taglib>: 3.servlet的生命周期 servlet:是一个单例---在内存中始终只有一个对象单例:饿汉式和懒汉式饿汉式是不会出问题的单例模式懒汉式因为在使用的时候才创建对象,需要进行判断该对象是否为空,所以存在问题,解决方法就是加入线程 init():初始化 service():服务方法 destory():销毁 4.线程的状态有几种1)NEW2)RUNABLE3)BLOCKED4)WATING5)TIMED_WEATING6)TERMINED多线程实现方式:三种:继承自Thread接口实现Runnable接口线程池ExecutorService5.TreeSet集合针对自定义对象进行排序?如何试下自然排序和选择器排序 TreeSet add()的put()---红黑树结构 TreeSet<自定义类型> 如果是空参构造:默认自然排序前提:当前自定义类型必须实现Comparable:重写compareTo(T t)按照一定规则排序如果是有参构造:选择排序1.String,StringBuffer,数组的区别 String:是一个常量,一旦被赋值,其值不能被更改;作为形式参数,形参的改变,不会影响实际参数 StringBuffer:构造一个字符串缓冲区;是可变的字符序列,是一个线程安全的类;作为形式参数,形参的改变,会影响实际参数 数组和StringBuffer:两个都是容器数组:存储的元素只能是同一类型元素StringBuffer:缓冲区--存储任意类型元素---StringBuffer的toString()---String 2.集合和数组的区别 集合:能够存放任意类型的引用类型数据;长度可变;size属性; 数组:只能存放同一类型数据;长度固定;length属性; 3.Servlet的执行流程 1)浏览器发送请求到服务器http://localhost:8080/web App/url-patten 2)通过服务器解析路径---“url-patten”---找不到就会出现404找到当前servlet的名称 3)通过类名---找到这个类的全限定名称 4)通过反射方式创建该类实例 5)解析这个类中的方法通过字节码文件对象---获取Method----invoke(方法名,实际参数);4.自定义注解里面的属性如何解析 自定义接口,继承自extends Annotation注解---将方法名---属性名属性的返回值string枚举注解类型以上类型的数组 如果将自定义注解应用在某个类上,给注解中的属性赋值 1)通过当前类获取他的字节码文件对象Class clazz 2)Class类中getAnnotation(注解类型的字节码文件)---返回当前:接口的子实现类 通过调用方法---获取属性值 5.IO流有哪些,举例 流的方向:输入流输出流 按类型字节流字节输入流InpuStream字节输出流OutputStream字符流字符输入流Reader字符输出流Writer程序的解耦
解析xml文件-----核心配置文件 好处: 1)解析块--dom4j+xpath 将某个标签内容快速解析 2)符合Java的一种设计原则:开闭原则,对现有代码的修改进行关闭,对扩展开放提供application.xmlbeansbeanid=“service层/dao层接口名称:标识符”class=“service层和dao接口的子实现类全限定名称” 提供一个工程类:提供静态功能返回值Objectpublic static Object getXXX(String id){1)获取解析器对象SAXReader2)获取资源文件的输入流3)read方法读取资源文件所在输入流4)xpath表达式---快速定位bean标签}购物车
购物车 Cart很多购物车项Map<String:商品id,cartItem>总计金额添加购物车项从购物车删除购物车项清空购物车项购物车项CarItemproduct 商品cont 数量subTotsl 小计总结
- 上一篇: 转写给XJTU计算机系大一大二的童鞋
- 下一篇: winform制作音乐播放器