• JavaWeb—2.13问题总结


    1.说说Jetty与Tomcat的区别

    1. 相同点
      Tomcat和Jetty都是一种Servlet引擎,他们都支持标准的Servlet和JavaEE的规范
    2. 不同点
      • Jeety更小更快更灵活,内核更小,默认使用utf-8字符集,不存在中文乱码情况,不太适合做大型开放项目
      • Tomcat比较传统,功能更强大,特别适合大型项目开发。缺点:经常有中文乱码,默认使用ISO_8859_1字符集。
        • Tomcat服务器中文乱码的解决方案
          1. request.setCharacterEncoding();修改
          2. 使用过滤器。(推荐使用过滤器) :只能解决 post请求的乱码
          3. 在Tomcat安装目录下的conf目录下的server.xml添加URIEncoding=utf-8:只能解决get请求的乱码

    2.如何修改Jetty默认端口?如何修改Tomcat默认端口?

    • 修改Jetty默认端口

      1. 在Jetty目录下打开start.ini配置文件(本人安装地址是:D:Javaenvironmentjetty)
      2. 在配置文件中找到jetty.http.port=8888可以更改后面的端口号
    • 修改Tomcat默认端口

      1. Jetty目录下的conf目录打开server.xml配置文件
      2. 找到Connector port="8080"修改即可

    3.如何启动jetty服务器?

    1. 下载压缩包解压(本人解压在D:Javaenvironmentjetty中)

    2. 解压后目录和文件的解释

    3. 在windows系统下用cmd启动

      java -jar start.jar运行,运行成功即可看到如下图

    4.简述Servlet的生命周期。

    1. 如果是第一次请求

    2. 如果不是第一次请求
      说明这个servlet已经驻留内存了,直接执行Service方法

    5.Servlet如何处理用户的请求?

    流程图如下:

    6.说说get请求和post的请求的区别。

    1. get用于获取数据,而post一般用于提交数据
    2. POST的安全性要比GET的安全性高。注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。
    3. GET请求只能进行url编码,而POST支持多种编码方式。
    4. GET请求在URL中传送的参数是有长度限制的,而POST没有。
    5. 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

    总结:

    Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!

    7.说说相对地址与绝对地址的区别。

    • 相对地址
      相对地址相对当前资源的地址。 容易出错,写法简单
    • 绝对地址
      绝对地址放之四海而皆准的地址。 肯定不会出错,拼起来比较麻烦

    8.说说请求重定向与请求转发的区别。

    • 重定向
      B一个web资源收到客户端A请求后,B他会通知A客户端去访问另外一个web资源C,这个过程叫重定向

    • 请求转发
      B一个web资源收到客户端A请求后,B他会请求C客户端,C客户端去转发到B,通过B客户端A客户端访问另外一个web资源C,这个过程叫请求转发

    • 重定向和转发的区别?

      • 相同点
        页面都会实现跳转
      • 不同点
        • 请求转发的时候,url不会产生变化
        • 重定向时候,url地址栏会发生变化;

    9.jsp有哪九大内置对象?servlet如何获取session和application对象?

    1. jsp九大内置对象
      • out
      • page
      • request(掌握)
      • response(掌握)
      • session(掌握)
      • application(掌握)
      • exception
      • pageContext
      • config
    2. request,response本身参数自带
    3. 获取session
      request.getSession获取session;
    4. 获取application
      request.getServletContext().setAttribute(); 获取application
    5. 四个内置对象范围从大到小排列
      application>session>request>page

    10.什么是单例?单例有哪些设计模式?

    • 单例模式概念
      • 顾名思义,就是在程序运行中,最多只能有一个实例化的对象
      • 所以需要将构造方法私有化,本类来创建唯一的一个单例对象,再提供一个公共接口来返回该对象。这个公共接口即为一个类的静态方法,保证不能被外界访问,只能通过本类的类名来访问。
    • 单例的设计模式
      1. 饿汉式:用的时候才创建对象

      2. 线程安全的单例:双重检测机制

      3. 加volatile关键字禁止指令重排序

      4. 静态内部类实现单例模式

      5. 枚举实现单例模式

  • 相关阅读:
    linux 用户、组,修改文件权限
    linux下获取帮助
    PHPSESSID的cookie//session_start()
    【python】import 模块、包、第三方模块
    python练习——最长的递减子序列
    python练习——水仙花数
    Linux目录结构
    Scala入门3(特质线性化)
    Scala入门2(特质与叠加在一起的特质)
    人工智能我见及特征提取mfcc算法理解
  • 原文地址:https://www.cnblogs.com/godles/p/12305346.html
Copyright © 2020-2023  润新知