JavaWeb—2.13问题总结

Posted godles

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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. 枚举实现单例模式
      技术图片

以上是关于JavaWeb—2.13问题总结的主要内容,如果未能解决你的问题,请参考以下文章

动态SQL基础概念复习(Javaweb作业5)

javaweb代码学习总结

《java精品毕设》基于javaweb宠物领养平台管理系统(源码+毕设论文+sql):主要实现:个人中心,信息修改,填写领养信息,交流论坛,新闻,寄养信息,公告,宠物领养信息,我的寄养信息等(代码片段

BootStrap有用代码片段(持续总结)

BootStrap实用代码片段(持续总结)

JavaWeb - JSONProtobufThriftMessagePack 对比和开发指南