笔记:JSP基础知识

JSP的基本语法

  • 指令

    <%@ page 属性 = " 属性值 " %>

    contentType : 页面内容的内型    contentType="text/html;charset=UTF-8"
    import : 导入需要用到的包
    lauguage : 代表页面的编程语言   language="java"
     
  • 静态代码

    页面中所有的静态代码 (html / css / js / 图片等)

     
  • 小脚本

    页面中存放Java代码 (<%  代码段  %>)

     
  • 表达式

    输出语句,将内容输出到页面 (<%=Java代码%>)

     
  • 声明
     
    能够在页面中编写 java 的方法,该形式已经被彻底废弃了
    <%!  方法  %>
  • 注释

    html注释:在客户端是能够被看到的  <!--  -->
    jsp
    注释:无法在客户端是能够被看到的  
    <%--
             // 单行注释
             /***/ 多行注释
    --%>

JSP的运行机制

 运行流程:

1. 在客户端第一次请求时,先对 JSP 进行翻译
2. 形成 “JAVA” 文件,之后会对 java 文件编译成为”.class“ 文件
3. 最后会执行。
4. JSP 在第一次执行时,速度较慢,从第二次开始,就会直接使用已经编译好的.class运行,所以性能能够提升。
5. 如果对 JSP 中的配置进行了修改,那么服务器一定要重启!

常见的问题

1. 404 问题

  • 服务器未启动
  • 页面名称输入错误
  • 文件夹可能配置问,将页面放置在了WEB-INF目录,该目录是一个系统的配置目录,所以不能够随意访问
  • web 应用未部署

2. 500问题

服务器中代码出错了,可以查看页面的错误信息结合idea 中输出的信息判断错误点。

JSP的内置对象

JSP 中一共包含 9 个内置对象,最大的特点就是能够直接使用,而无需使用者手动实例化。实例化的过程被web容器完成了。
page  pageContext  out  config  exception  request  response  session  application
  • page :  页面
  • pageContext : 页面上下文
  • out : 输出
  • config : 控制
  • exeception : 异常
  • request : 一次请求
    常用方法:
    String getParameter(String name) :  根据表单组件名称获取提交数据
    String[ ] getParamentValues(String name) : 获取name值相同的表单的数据
    void setCharacterEncoding(String charset) : 指定每个请求的编码
    getRequestDispatchar(String path) : 返回一个RequestDispatchar对象,该对象的forward()方法用于转发请求
  • response : 响应
    sendRedirect(String location) : 重定向。可以通过浏览器,重定向到某个位置(当前服务器、外部的站点资源)
    setCharacterEncoding(String str) : 设置响应的编码格式
  • session : 一次会话
    setAttribute(String key,Object value) : 以 key/value 的形式保存对象值
    getAtrribute(String key) : 通过 key 值获取对象值
    invalidate() :  设置session对象失效
    setMaxInactiveInterval(int value) : 设置session最大非活动时间,单位秒
    getMaxInactiveInterval() : 获取session的有效活动时间
    removeAttrlibute(String key) : 从session中删除指定名称(key)所对应的对象

    getId() : sessionid名称为JSESSIONID,该id认情况下,是由cookie创建的。如果cookie被禁用,那么就会通过容器创建一个对应唯一性id,交给session,作为 sessionid。
  • application : 应用

 转发与重定向的区别

转发 :

  • URL地址是不变的。内部资源完成一个跳转过程能够通过request实现带值跳转
  • 请求发起后,跳转到目标过程只发起一次请求
  • 请求跳转速度又有是在站内,所以速度也比较快。​​​​​​​

重定向 :

  • URL地址会发生改变。由浏览器发起两次请求,第一次是请求的目标(30x),第二次会有浏览器跳转到目标页面,该过程是一个重定向的过程。
  • 不能够通过request实现带值跳转。
  • 由于两次跳转,所以速度相比较转发稍慢。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值