• JSP知识点


    1、上传文件需要有什么条件?
    a、必须以POST方式请求
    b、在表单中加入enctype="multipart/form-data"
    c、在servlet中加入注解@MultipartConfig

    2、请求转发和重定向的区别。
    1、请求转发由RequestDispatcher发出,重定向由response发出
    2、请求转发客户端向服务器发出一次请求,而重定向客户端向服务器发出两次请求。所以请求转发可以共享request中绑定的数据,而重定向不行。
    3、请求转发只能转发服务器内部资源,而重定向可以在第二次请求时转发别的服务器。


    3、解释Web应用程序保存客户端状态有哪些形式
    1、隐藏表单、
    2、cookie
    3、session
    4、URL重写

    4、cookie的工作流程。
    客户端请求服务器,服务器调用response.addCookie()方法,产生响应时,会产生set-cookie的响应头,将cookie对象信息以文本方式发送给客户端。当客户端再次请求,会将cookie信息,再以cookie响应头的方式发送给服务器。从而跟踪状态。


    5、sessoin的工作流程。
    客户端请求服务器,服务器为了跟踪客户端的状态,调用request.getSession()产生一个session对象,同时给该对象分配一个唯一标识sessionId。为了管理所有用户的session对象,WEB容器以sessionId为键,session对象为值,存放进一个Map集合。产生响应时,会将sessionId以set-cookie响应头的方式发送给客户端。客户端再次请求,将sessionId以cookie请求头的方式发送给服务器。而服务器根据sessionId找到session对象。从而跟踪状态。


    6.解释session和cookie的区别。
    1、session是存放在服务器端的对象,而cookie信息保存在客户端
    2、session可以通过绑定共享对象的方式保数据,而cookie只能以文本方式保存数据
    3、使用session时客户端和服务器只交互sessionId,而使用cookie时,客户端和服务器交互的是具体的数据。所以,使用session更为安全。


    7.为什么需要管理session?如何销毁session。
    因为http协议是一种无状态的协议,所以,客户端是否下线,服务器并不知道。那么,即使客户端下线,服务器还在为当前客户保存session对象。所以,必须对过期的session及时清理以释放服务器内存。销毁有三种方式:
    1、会话超时
    2、调用invalidate()方法强行销毁
    3、应用程序结束

    8.如果客户端禁用cookie,session还能记录客户端状态吗?
    如果不能,有什么方法可以在客户端禁用cookie时,session仍然有效。
    如果客户端禁用cookie,那么意味着服务器发送给客户端的sessionId就不能从客户端,以cookie方式发送给服务器。服务器得不到sessionId,那么会认为是新用户,从而无法取出之前保存的信息。

    解决方案是,对URL进行重新编写,将sessionId,附加在URL后面。这样即使客户端禁用cookie,服务器同样可以得到sessionId,取出session对象

    9、JSP引擎是什么?
    JSP引擎的作用是:将jsp页面翻译成java类。

    10、JSP为什么是servlet?
    按照Servlet规范,由jsp引擎所翻译的jsp类,必须实现HttpJspPage接口,而该接口是servlet的子接口,所以同样满足servlet规范。jsp的本质是servlet。只不过jsp重在数据展示,而servlet重在逻辑处理。

    11、描述JSP生命周期

    12、JSP的隐式对象有哪些?
    13、JSP脚本元素有哪些?
    声明<%! %>
    脚本<% %>
    表达式<%= %>

    14、JSP注释有哪些?
    jsp注释<%-- --%>
    html注释<!-- --%>不能注释java代码
    java注释// /**/


    15、JSP动作包含和指令包含的区别是什么
    16、完成商品评论系统。


    1.自定义标签
    <?xml version="1.0" encoding="utf-8"?>
    <taglib>
    <tlib-version>1.2</tlib-version><!-- 标签库版本 -->
    <jsp-version>1.2</jsp-version><!-- jsp版本 -->

    <tag><!-- 注册标签 -->
    <name>tt</name><!-- 标签名称 -->
    <tag-class>com.project.tag.MyTag</tag-class><!-- 标签类全路径 -->
    </tag>
    </taglib>

  • 相关阅读:
    zoj 3792 Romantic Value
    uva 563
    uva 10779 Collectors Problem 网络流
    什么是撞库,如何预防撞库攻击?
    linux install redis-cli
    python远程调试及celery调试
    python HttpServer共享文件
    python引用,浅复制,深复制
    redis 查询key数量
    ubuntu查询可用安装包
  • 原文地址:https://www.cnblogs.com/newcode/p/9229991.html
Copyright © 2020-2023  润新知