• jsp


    1、servlet缺点,为什么会出现jsp技术?

       因为Servlet当初的设计目的是用来产生网页的程序,所以所有的页面必须在Servlet中进行构造,这样做的效率在当今来说,真的很低下,所以对于Servlet来说,它是很不利于展现的,不过它很适合于对数据的处理,所以很适合于充当控制器来使用。因为Servlet构建页面实在够差,所以后来SUN推出了JSP来一改Servlet引入的尴尬。

    2、常见动态网站的技术对比

      jsp:java平台、安全性高、适合开发大型的,企业级的Web应用程序。

      .Net:.net平台、简单易学(界面化操作)。但是安全性和跨平台性差

      php:简单、高效、成本低开发周期短。特别适合中小型企业(LAMP=Linux+Apache+Mysql+Php).

    3、请求转发与请求重定向的区别?

      请求重定向:客户端行为,respon.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的url会改变。

      请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏的URL不会改变。

    4、session与cookie的对比?

    session:              cookie:

    (1)服务器端保存客户信息          客户端保存

    (2)保存的是object类型           string类型

    (3)随着会话结束而销毁           可以长期保存客户端

    (4)保存重要信息(密码)          不重要的信息

    (5)保存的数据大              保存的数据少

    5、include指令与include动作的区别?

      include指令 include动作
    语法格式 <%@ include file="..."%> <jsp:include page="...">
    发生作用的时间 页面转换期间 请求期间
    包含的内容 文件的实际内容 输出内容
    转换成的servlet 主页面和包含页面转换为一个servlet 转换出两个独立的servlet
    编译时间   较慢—资源必须被解析 较快
    执行时间 稍快 较慢—每次资源必须被解析

    6、脚本元素:在一定程度上可以理解就是java的片段

       1、脚本:   <%  java代码  %>   局部变量

       2、表达式:  <%=java表达式 %>         输出变量   表达式

       3、声明:    <%! 变量、方法%>   全局变量   

    7、request对象主要用于处理客户端请求,方法有:

    String  getParameter(String name)          根据页面表单组件名称获取页面提交数据

    String[ ]  getParameterValues (String name)  获取一个页面表单组件对应多个值时的用户的请求数据

    void setCharacterEncoding (String charset) 指定每个请求的编码 在调用request.getParameter()之前进行设定,可以解决中文乱码问题

    request.getRequestDispatcher(String path)  返回一个javax.servlet.RequestDispatcher对象,该对象的forward方法用于转发请求

    request.setAttribute("key",value);

    Object    request.getAttribute("key");

    8、application对象的常用方法:

    void setAttribute(String key, Object value):以键/值的方式,将一个对象的值存放到application中

    Object getAttribute(String key):根据键去获取application中存放对象的值

     application.getRealpath("/"); 得到项目的路径

    9、session对象常用方法:

    void setAttribute(String key, Object value):以键/值的方式,将一个对象的值存放到session中

    session.setAttribute("name","zhangsan");

    Object   getAttribute(String key):根据名称去获取session中存放对象的值

    String name = (String) session.getAttribute("name");

    session.getId();    得到session的ID

    session.isNew();   判断该session是否是新的

    session.Invalidate();  销毁session

  • 相关阅读:
    argparse 参数解析
    python删除文件夹下的所有内容
    jinja2 简单整理
    VS2015 从iso挂载安装遇到 安装包丢失或损坏 的解决方法 关闭网络
    本机Win10无法ping通虚拟机上的Linux,但是Linux可以ping通主机
    CentOS7防火墙设置
    mysql高可用MHA
    redis 使用list实现热点数据的缓存,
    java学习路线总结
    【开源】博客导出工具(支持M个博客N种格式)
  • 原文地址:https://www.cnblogs.com/h-g-f-s123/p/6154864.html
Copyright © 2020-2023  润新知