zoukankan      html  css  js  c++  java
  • P2-WEB

    1. 讲一下http GET 和 POST 请求的区别?

      共同点:

        GET和POST都是http的请求方式,用户可以通过不同的http请求方式来完成对资源(URL)的不同操作;

        GET、POST、PUT、DELETE就对应着这个资源的查、改、增、删4个操作;

        具体来讲,GET一般用户获取/查询资源信息;POST一般用于更新资源信息;

      不同点:

        GET请求提交的数据会在地址栏显示出来,而POST不会再地址栏显示出来;(get提交,请求的数据会附在URL之后,就是把数据放在http协议中,以?分割URL和传输数据,多个参数用&连接;post提交,是把提交的数据放在http包的包体中);

        传输数据的大小;(get请求由于浏览器对地址长度的限制而导致传输的数据有限制;而post不会);

        安全性,POST的安全性比GET的安全性要高;(get请求,由于数据会在地址栏中显示,可以通过历史记录找到有关密码信息;)

    2. 说一下对servlet的理解?什么是servlet?

      Server Applet的缩写,全称叫Java Servlet;是Java编写的服务端程序,而这些程序都要实现Servlet这个接口;

      主要功能:在于交互式的浏览和修改数据;生成动态web内容;

      实际编写过程中:我们继承HttpServlet,重写doGet 和doPost方法,或者重写service方法来完成对get 和 post请求的响应;

    3. 简单说明Servlet的生命周期?

      Servlet有良好的生存期定义,包括加载和实例化、初始化、处理请求以及服务结束;这个生命周期由:javax.servlet(包名).Servlet接口的init、service、destory方法表达;

      servlet容器启动时,开始加载servlet,生命周期开始;

      加载完成后,servlet会被服务器实例化,容器运行其init方法初始化;

      完成初始化后,当请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX(doGet、doPost)方法;

      当服务器决定将其实例销毁的时候(服务器关闭的时候),调用其destory方法;

      Summary:

      加载servlet的class--->实例化servlet--->调用servlet的init方法,完成初始化--->service方法派遣对应方法,响应请求--->servlet容器关闭时,调用destory方法;

    4. Servlet API中 forward() 与 redirect() 的区别?

      forward是容器中控制权的转向,在客户端的浏览器的地址不会显示出转向后的地址;

      redirect是完全的跳转,浏览器将会得到跳转的地址(新的),并重新发送请求的链接,这样从浏览器的地址就可以看到跳转后的地址;

      forward更加高效,在可以满足需求的情况下,尽量选择forward,这样也可以有助于隐藏实际的链接;

      但是在有些情况下,需要跳转到一个其他服务器上的资源,则必须使用sendRedirect方法;

    5. JSP(Java Server Pages)和Servlet有哪些相同点和不同点?他们之间的联系是什么?

      相同点:

        JSP是Servlet的扩展,所以的JSP文件都会被翻译为一个继承HttpServlet的类;

        也就是说,JSP最终也是一个Servlet,这个Servlet对外提供服务;

      不同点:

        Servlet的应用逻辑在于Java文件中,并且完全从表现层中的HTML中分离开,Servlet如果要实现html功能,必须使用writer输出对应的html;

        而JSP是Java和HTML组合成一个扩展名为.jsp的文件,做界面比较方便而嵌入逻辑比较复杂,JSP侧重于视图,Servlet主要用于控制逻辑;

    6. JSP有哪些内置对象?作用是什么?分别有什么方法?

      request    用户端请求,此请求会包含来自Get/Post请求的参数;

      response    网页传回用户端的响应;

      pageContext    网页的属性是在这里管理的;

      session    与请求有关的会话期;

      application    表示整个应用,servlet正在执行的内容;  

      out      用来传送回应的输出;

      config      servlet的架构部件;

      page     JSP网页本身;

      exception   针对网页错误,未捕捉的例外;  

      四大作用域:pageContext、request、session、application;可以通过JSTL从四大作用域中取值;

      JSP传值:可以通过request、session、application、cookie来传;

    7. session和cookie是什么?有什么区别?你在什么地方使用到了?

      session和cookie都是会话跟踪;

      cookie是通过在客户端记录信息,确定用户身份;

      session是通过在服务端记录信息确定用户身份,但是session的实现依赖于cookie(有个sessionId是session的唯一标识,需要存放在客户端);

      区别:

        7.1cookie数据存放在客户的浏览器上,session数据放在服务器上;

        7.2cookie不是很安全,别人可以通过分析本地的cookie进行cookie欺骗,考虑到安全应当使用session;

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

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

      使用场景:

        7.5将登陆信息等重要信息存放在session,其他信息如果需要保留,可以放在cookie中(购物车的实现最好使用cookie,但是cookie是可以在客户端禁用的,这时候我们要使用cookie+数据库的方式去实现,当从cookie中不能取出数据时,就从数据库获取;);

    8. MVC各部分都有哪些技术来实现?

      Model     模型    javabean

      View      代码视图  jsp、html、Velocity、freemaker

      Controller 控制器  servlet、action

      最简单的MVC模式就是:Jsp + Servlet + Javabean;

      整个mvc模式实际上就是model2的实现方式,就是把视图和逻辑隔离开来;

      Model1:jsp + service + dao;

      Model2:jsp + servlet + service + dao;

      使用struts2和springMVC这样的框架后,就变成:jsp + coreController + action + javabean;

      

  • 相关阅读:
    strong和copy的区别
    xib托线出来的为什么是weak而不是strong
    iOS 序列化与反序列化
    iOS开发- 蓝牙后台接收数据(BLE4.0)
    iOS开发拓展篇-XMPP简单介绍
    OS开发拓展篇—应用之间的跳转和数据传
    ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
    什么是低8位?
    Eclipse自动生成作者、日期注释等功能设置
    eclipse重构变量名的快捷键, 批量修改变量名的快捷键
  • 原文地址:https://www.cnblogs.com/yikuan-919/p/9912501.html
Copyright © 2011-2022 走看看