jsp-(Java Server Page)

定义:它在HTML代码中嵌入java代码片段和jsp标签,构成jsp网页,在接受到用户请求时,服务器会处理Java代码,然后生成处理结果的HTML页面返回给客户端,客户端的浏览器将呈现最终页面效果。

jsp工作原理图.jpg

JSP技术特征

  • 跨平台:
    一次编写,到处运行
  • 业务代码分离:
    程序开人员可以将业务处理代码全部放在javabean中,或者把业务代码交给Servlet,Struts等其他业务控制层来处理。
  • 组件重用:
    使用一个javaBean类封装业务处理代码或者作为一个数据存储模型。
  • 继承了Java Servlet功能:
    jsp最终编译成servlet才能处理用户请求
  • 预编译 :
    第一次访问进行编译并保存,下次在访问直接执行编译好的代码。

二.Jsp语法

  • Jsp指令
    • page指令
      <%@page contentType="text/html;charset=utf-8"
      pageEncoding="utf-8"
      import="java.util.Date" %>
      说明:

    • pageEncoding:按照哪种方式读取JSP文件

    • contentType:按照哪种方式输出网页内容

    • import :导入相关的类

      • include指令
        <%@ include file="被包含文件url" %>
      • taglib指令
        <%@ taglib url="/struts-tags" prefix="s" %>
  • 插入java代码:语句以分号结束
    <% Java代码;%>
  • 声明
    <%! 定义全局变量%>
  • 输出结果:不能有分号
    <%=expression %>
  • 注释
    客户端通过查看源代码是能够看的到的
    <%--注释-->客户端通过查看源代码是能够不能够看到的

三.动作标签

  • <jsp:include>:用于动态将另一个jsp页面包含进来
    <jsp:include page="url" />
  • <jsp:forward> :请求转发,将请求的处理转发给其他web资源
    <jsp:forward page="url" />
  • <jsp:param>:该标签为其他标签的子标签,为其他标签传递参数
    <jsp:param name="userName" value="mingri" />

四.JSP五个内置对象

  • request对象(HttpServletRequest)
  • 概念
    • 主要用来接受通过HTTP协议传送到服务器的数据(包括头信息,系统信息,请求方式和请求参数等)
    • request对象的作用域为一次请求
  • 方法
    • 获取请求参数值
      request.getParameter("id")
    • 对于复选框及多选列表框被选定的内容就要使用这个
      request.getParameterValues("like")
    • 可以在request对象的属性列表中添加一个属性
      request.setAttribute(String name,Object obj);
    • 然后在request对象的作用域范围内通过使用getAttribute()方法将其属性取出
      request.getAtrribute(String name);
    • 移除属性
      request.removeAttribute()
  • response(HttpServletResponse)
  • 概念:response代表的是对客户端的响应,主要是将jsp容器处理过的对象传回到客户端。response也具有作用域,它只在jsp页面内有效。
  • 方法
  • 重定向网页
    response.sendRedirect("www.baidu.com");
  • 设置输出缓冲
    通常情况下,服务器要输出到客户端的内容不会直接写到客户端,而是先写到一个输出缓冲区;只有以下的3种情况,才会把缓冲区的内容写到客户端
    - jsp的页面的输出信息已经全部写入到缓冲区
    - 缓冲区已满
    - 在jsp页面种调用了flushbuffer()或者out对象的flush()方法
    response.setBufferSize(0)
  • session对象(HttpSession)
    • 概念
      是由服务器自动创建的与用户请求相关的对象,服务器为每个用户都生成一个session对象,用来保存该用户的信息。session对象内部使用Map类来保存数据,因此保存数据的格式是key/value。session对想的value可是复杂的对象类型,而不仅仅是字符串类型。
    • 方法
    • 将信息保存在session范围内
      session.setAttribute(String key,object obj)
    • 获取保存在session范围内的信息
      session.getAttribute(String key);
    • 移除相关属性
      session.removeAttribute(String key);
    • 销毁session
      session.invalidate()
    • 会话超时管理
    • 方法
      • 返回客户端最后一次与会话相关联的请求时间
        getLastAccessedTime()
      • 以秒为单位返回一个会话内两个请求最大的时间间隔
        getMaxInactiveInterval()
      • 以秒为单位设置session的有效时间
        setMaxInactiveInterval()

  • application对象(ServletContext)
  • 概念
    可将信息保存在服务器中,直到服务器关闭。生命周期更长。
  • 方法同上

  • out对象 (JspWriter)
  • 概念
    主要用来像客户端输出数据
  • 方法
    out.println()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值