JavaWeb面试重点:JQuery、Ajax、Cookie与Session、JSON解析

需积分: 8 0 下载量 132 浏览量 更新于2024-08-12 收藏 7KB MD 举报
"JavaWeb高频面试知识,涵盖了JQuery选择器、Ajax使用、Cookie与Session的比较以及JSON数据格式的解析。" 在JavaWeb技术面试中,常常会涉及到一些核心概念和技术,以下是对这些知识点的详细说明: ### 一、JQuery的常用选择器 JQuery是一个强大的JavaScript库,它简化了DOM操作。JQuery提供了多种选择器来高效地选取页面元素。例如: - `#idname`:ID选择器,用于选取具有指定ID的元素。 - `.classname`:类选择器,用于选取具有指定类的元素。 - `tagname`:标签选择器,用于选取指定类型的元素。 - `[attribute=value]`:属性选择器,用于选取具有特定属性和值的元素。 ### 二、Ajax的使用和参数 Ajax(Asynchronous JavaScript and XML)允许我们在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。常见的Ajax调用方式有`$.ajax()`和`$.getJSON()`。其主要参数包括: - `url`:请求的服务器URL。 - `data`:发送到服务器的数据,可以是字符串或对象。 - `type`:请求类型,如GET或POST。 - `async`:异步/同步标志,默认为true(异步),设为false则为同步。 Ajax的优点: - 异步处理,用户可以继续浏览页面而无需等待完整响应。 - 局部刷新,只更新需要的部分,提升用户体验。 - 减轻服务器负担,只请求必要的数据。 - 用户等待时间短。 Ajax的缺点: - 浏览器兼容性问题,不同浏览器对Ajax的支持程度不同。 - 默认异步,若需同步处理需设置`async: false`。 ### 三、Cookie与Session - **Cookie**:存储在客户端(浏览器)的小型数据存储区,通常用于保存用户偏好设置或临时登录状态。由于存储空间有限,适合存储少量数据。如果禁用Cookie,可以通过URL重写(将Session ID附加到URL)来实现类似功能。 - **Session**:存储在服务器端,可以保存大量用户信息。当浏览器关闭或超过设定的非活动时间(默认30分钟,可通过`setMaxInactiveInterval(int)`调整)后,Session会自动销毁。 Cookie和Session的对比: - 安全性:Cookie存在安全风险,因为数据存储在客户端,容易被截取。Session相对更安全,数据存储在服务器端。 - 存储量:Cookie存储量有限,Session无限制。 ### 四、JSON数据格式 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。基本格式包括: - 对象:键值对,以`{}`包围,键用双引号括起,键值之间用逗号分隔,如`{"name": "John", "age": 30}`。 - 数组:有序列表,以`[]`包围,元素之间用逗号分隔,可以包含对象或其他数组,如`[{"name": "Alice"}, {"name": "Bob"}]`。 - 复杂格式:JSON对象内嵌套其他JSON对象或数组,如`{"person": {"name": "John", "age": 30}, "friends": [{"name": "Jane"}, {"name": "Mike"}]}`。 理解并掌握这些JavaWeb中的关键技术,对于面试和实际开发都至关重要。

D:\javaJDK17\bin\java.exe "-javaagent:D:\编程软件\idea2022\IntelliJ IDEA 2022.1.3\lib\idea_rt.jar=4912:D:\编程软件\idea2022\IntelliJ IDEA 2022.1.3\bin" -Dfile.encoding=UTF-8 -classpath "D:\IDEA java\javaWeb\Maven\maven-project01\target\classes;D:\Maven\apache-maven-3.9.3-bin\apache-maven-3.9.3\mvn_store\org\mybatis\mybatis\3.5.5\mybatis-3.5.5.jar;D:\Maven\apache-maven-3.9.3-bin\apache-maven-3.9.3\mvn_store\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar;D:\Maven\apache-maven-3.9.3-bin\apache-maven-3.9.3\mvn_store\org\slf4j\slf4j-api\1.7.32\slf4j-api-1.7.32.jar;D:\Maven\apache-maven-3.9.3-bin\apache-maven-3.9.3\mvn_store\ch\qos\logback\logback-core\1.2.6\logback-core-1.2.6.jar;D:\Maven\apache-maven-3.9.3-bin\apache-maven-3.9.3\mvn_store\ch\qos\logback\logback-classic\1.2.6\logback-classic-1.2.6.jar" Demo1.HelloWord Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: ${com.mysql.jdbc.Driver} ### The error may exist in UserMapper.xml ### The error may involve test.selectAll ### The error occurred while executing a query ### Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: ${com.mysql.jdbc.Driver} at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:135) at Demo1.HelloWord.main(HelloWord.java:23) Caused by: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: ${com.mysql.jdbc.Driver} at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.initializeDriver(UnpooledDataSource.java:244) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:223) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:219) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.getConnection(UnpooledDataSource.java:95) at org.apache.ibatis.datasource.pooled.PooledDataSource.popConnection(PooledDataSource.java:432) at org.apache.ibatis.datasource.pooled.PooledDataSource.getConnection(PooledDataSource.java:89) at org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:139) at org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:61) at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:89) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) ... 3 more

2023-07-22 上传