java面试题,每日一总结(4)


1. jsp有哪些内置对象?作用分别是什么?

答:首先jsp中有

9大内置对象:request、response、session、application、out、pagecontext、config、page、exception

四大作用域:

 page -> 页面级别,显然只有在一个页面内可用。
 request -> 请求级别 服务器跳转,一次请求之后消失。
 session -> 会话级别 客户端跳转(服务器跳转),与浏览器有关,ie是在重新打开ie时才会不同。
 application = 应用级别,当重启服务器时才会消失

具体参考:Jsp九大内置对象和四种作用域

2.说一下session和cookie的区别?你在项目中都有哪些地方使用了?

答:Sessi on和cookie都是会话(Seesion)跟踪技术。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。但是Session的实现依赖于Cookie, sessionid(session的唯一标识需要存放在客户端).

cookie和session的区别:
1、cookie数据存放在客户的浏览器上,session 数据放在服务器上。

2、cookie 不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session.

3、session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考中到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie.

5、所以个人建议
 将登陆信息等重要信息存放为SESSION
 其他信息如果需要保留,可以放在COOKE中,如加入购物车

购物车最好使用cookie.但是cookie是可以在客户端禁用的,这时候我们要使用cookie+数据库的方式实现,当从cookie中不能取出数据时,就从数据库获取。

关于数据库方面的: 

1.数据库的分类以及常用的数据库

数据库分为:关系型数据库和非关系型数据库

关系型数据库:mysql,oracle,sqlServer

非关系型数据库:NoSql,mogodb,hadoop等

2.事务的四个基本特征或ACID特性

 事务是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。一个转账必须A账号扣钱成功,B账号加钱成功,才算正真的转账成功。

事务必须满足四大特征:原子性,一致性,隔高性,持久性/持续性

原子性:表示事务内操作不可分割。要么都成功、要么都是失败。

 一致性:要么都成功、要么都是失败,后面的失败了要对前面的操作进行回滚。

隔高性:一个事务开始后,不能后其他事务干扰。

持久性/持续性:表示事务开始了,就不能终止了

3.说一下mysql的分页? Oracle的分页?

4.关于数据库的基本语句

5.简单说一下你对jdbc的理解?

答:jdbc:java database connection 即:java数据库连接。

数据库管理系统(mysql,oracle)很多,不同的数据库管理系统支持的命令不同。

java只定义接口,而把接口的实现给数据库厂商。我们在开发时只需要导入对应的数据库驱动架包,然后以接口的方式进行调用(mysql+mysql驱动+jdbc)

6.写一个简单的jdbc的程序。写一个访问oracle数据的jdbc程序?

答:首先要了解jdbc连接数据库的六步

     1.加载驱动或注册驱动

     2.获取连接对象(Connection)

     3.获取preparestatement或statement对象

     4.执行SQL语句

     5.处理结果集

     6.关闭资源

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class JDBCTest {
    public static void main(String[] args) throws Exception {
        //1.加载驱动
        //Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        //Class.forName("com.mysql.jdbc.Driver");
        Class.forName("oracle.jdbc.driver.OracleDriver");
 
        //2.创建数据库连接对象
        //Connection conn =                        DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=db","sa","sqlpass");
       //Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8","root","123456");
         Connection conn =     DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","Oracle123");
 
        //3.创建数据库命令执行对象
        Statement stmt = conn.createStatement();
        //      PreparedStatement ps = conn.prepareStatement("select * from t_user");
 
        //4.执行数据库命令
        ResultSet rs = stmt.executeQuery("select * from t_user");
        //      ResultSet rs = ps.executeQuery();
 
        //5.处理执行结果
        while (rs.next()) {
            int id = rs.getInt("id");
            String username = rs.getString("username");
            String password = rs.getString("password");
            System.out.println(id + "\t" + username + "\t" + password);
        }
 
        //6.释放数据库资源
        if (rs != null) {
            rs.close();
        }
        //      if (ps != null) {
        //          ps.close();
        //      }
        if (stmt != null) {
            stmt.close();
        }
        if (conn != null) {
            conn.close();
        }
      }
}

7.JDBC中的PreparedStatement相比Statement的好处

JDBC中使用preparedStatement相比statement的优势

8.数据库连接池作用

9.简单说一下html,ss,javascript在网页开发中的定位?

HTML:超文本标记语言,定义网页的结构

CSS:层叠样式表,用来美化页面

JavaScript:主要用来验证表单,做动态交互(其中AJAX)

10.简单介绍一下Ajax?

什么是AJAX?

--》异步的JavaScript和XML

作用是什么?

--》通过AJAX与服务器进行数据交换,AJAX可以使用网页实现局部更新,这意味着可以在不刷新整个网页的情况下,对网页的某部分进行更新。

怎么来实现AJAX?

--》使用XmlHttpRequest这个对象可以异步向服务器发送请求,获取响应,完成局部更新,

Open send responseText/responseXML局部响应。

使用场景?

--》登录失败时不跳转页面,注册时提示用户名是否存在,二级联动等等使用场景

具体参考:Java前端面试题总结(这篇博客总结的很详细,前端部分的试题就不转了,直接阅读即可)

11.js和jQuery的关系?

JQuery是一个JS框架,封装了JS的属性和方法,并且增强了JS的功能,让用户使用起来更加方便,

原来使用js是要处理很多兼容性的问题(注册事件),由于Jquery封装了底层,就不用处理兼容性问题(注册事件等)。

原生的js的dom和事件绑定Ajax等操作非常麻烦,JQuery等装以后非常方便。

12.bootstrap是什么

bootstrap是一个移动设备优先的UI框架,我们可以不用写任何css、js代码就能实现比较漂亮的有交互性的页面,我们程序员对页面的编写是有硬伤的,所有要自己写页面的话就要使用类似于bootstrap这样的UI框架

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值