JavaWeb基础阶段复习

124 阅读5分钟

JavaWeb基础阶段复习

  1. servlet生命周期

    Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:

    • Servlet 初始化后调用 init () 方法。
    • Servlet 调用 service() 方法来处理客户端的请求。
    • Servlet 销毁前调用 destroy() 方法。
    • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
  2. mvc是什么

    MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。

    Model**(模型)** - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。

    View**(视图)** - 视图代表模型包含的数据的可视化。

    Controller**(控制器)** - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。

  3. servlet单例多线程

    首先明确:Servlet是单实例的,即对于同一种业务请求只有一个是实例。不同的业务请求可以通过分发来产生多个实例。 其次:单实例的原因我想是因为单实例足可以处理某一个请求,就像ibatis的Querydao、UpdateDao一样都是单实例的。 再次:为什么单实例足可以处理某一个请求,因为Servlet是单实例多线程的。

  4. session和cookie的异同

    (1)共同点:cookie和session都是用来跟踪浏览器用户身份的会话方式。

    (2)不同点:

    cookie是保存在客户端的,有大小限制

    session是保存在服务端的,更安全,占用更多服务器资源,当访问增多时,应用cookie

  5. jsp九大内置对象

jsp九大内置对象.png

  1. get和post请求区别

    1. get请求用来从服务器上获得资源,而post是用来向服务器提交数据;
    2. get将表单中数据按照name=value的形式,添加到action 所指向的URL 后面,并且两者使用”?”连接,而各个变量之间使用”&”连接;post是将表单中的数据放在HTTP协议的请求头或消息体中,传递到action所指向URL;
    3. get传输的数据要受到URL长度限制(最大长度是 2048 个字符);而post可以传输大量的数据,上传文件通常要使用post方式;
    4. 使用get时参数会显示在地址栏上,如果这些数据不是敏感数据,那么可以使用get;对于敏感数据还是应用使用post;
    5. get使用MIME类型application/x-www-form-urlencoded的URL编码(也叫百分号编码)文本的格式传递参数,保证被传送的参数由遵循规范的文本组成,例如一个空格的编码是”%20”。 ps:GET方式提交表单的典型应用是搜索引擎。GET方式就是被设计为查询用的。
  2. jquery手写ajax

      <script src="${pageContext.request.contextPath}/view/js/jquery-1.10.2.js"></script>
    <script> 
    $("#username").blur(function(){
        //发送ajax请求
        $.ajax({
            type:'get',
            url:'cms/ajax?username='+$("#username").val(),
            dataType:'text',
            success:function(data){
              
                    if (data=="no"){
                        errorName.innerHTML="请输入用户名";
                    }else if(data=="find"){
                        errorName.innerHTML="用户名已存在,请重新输入";
                    }else{
                        errorName.innerHTML="可以注册";
                    }
                }
            }
            }
            
        })
    })
    </script>
    
    
    
  3. 懒汉和饿汉模式

懒汉模式:在类加载的时候不被初始化。

饿汉模式:在类加载时就完成了初始化,但是加载比较慢,获取对象比较快。

饿汉模式是线程安全的,在类创建好一个静态对象提供给系统使用,懒汉模式在创建对象时不加上synchronized,会导致对象的访问不是线程安全的

  1. 请求转发和重定向区别

    1、重定向是两次请求,转发是一次请求,因此转发的速度要快于重定向

    2、重定向之后地址栏上的地址会发生变化,变化成第二次请求的地址,转发之后地址栏上的地址不会变化,还是第一次请求的地址

    3、转发是服务器行为,重定向是客户端行为。重定向时浏览器上的网址改变 ,转发是浏览器上的网址不变

    4、重定向是两次request,转发只有一次请求

    5、重定向时的网址可以是任何网址,转发的网址必须是本站点的网址

  2. java基础,面向对象,接口,泛型

    面向对象有三大特性:封装,继承,多态。

    封装:

    将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。

    意义:

    将属性和方法放到一起做为一个整体,然后通过实例化对象来处理; 隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了; 对类的属性和方法增加 访问权限控制。 继承:

    在程序中,继承描述的是多个类之间的所属关系,如果一个类A里面的属性和方法可以复用,则可以通过继承的方式,传递到类B里,那么类A就是基类,也叫做父类;类B就是派生类,也叫做子类。继承进一步提高了代码的复用性。

    多态:

    所谓多态:定义时的类型和运行时的类型不一样,此时就成为多态 ,

  3. jdbc天龙八部

    1. 向工程中导入数据库的驱动包(.jar包)
    2. 建立java文件,编写代码
    3. 注册驱动包
    4. 创建连接对象Connection,需要异常处理
    5. 创建PreparedStatement接口的对象
    6. 为预处理的SQL语句中?指定数据
    7. 执行sql命令
    8. 关闭相关的对象