JSP技术

9 篇文章 1 订阅
1 篇文章 0 订阅

Jsp背记文档

Jsp工程目录结构

  • \src 源代码目录:放置所有java源文件
  • \webroot 目录:网页根目录放置
  • \WEB-INF目录:放置一些配置信息
  • \WEB-INF\classess 目录:放java文件编译后的class文件
  • \WEB-INF\lib 目录:放需要使用的jar文件

JSP 页面元素

 

Jsp常见指令

Page指令

  • 设置页面编码

<%@ page pageEncoding=”gbk” %>

  • 导入包和类

<%@ page import=”java.sql.*” %>

  • 设置页面类型

<%@ page contentType=”text/html; chareset=gbk”%>

  • 设置网站异常(错误)处理页面

<%@ page errorPage=”error.jsp” %>   //可能会出错的页面

<%@ page isErrorPage=”true” %>    //显示错误的error.jsp页面

exception.getMessage()   //得到错误的主要信息

 

  1. 设置jsp为doc下载文档

<%@ page contentType=”application/msword; charset=gbk” %>//设置页面类型为doc类型

<% response.setHeader(“content-Disposition”,”attachement; filename=mldn.doc”);%>

 

Include指令------>静态包含(编译的时候就包含了)

主要用于设置导航与页脚这种每个网页都具有的内容,

include指令可以设置在页面的任何位置

文件可以是JSP网页,Html网页,文本或是java程序

<%@ include file=”top.jsp” %>  //top.jsp是嵌入的网页

<jsp:forward>指令

实现网页跳转

  1. 无参跳转

<jsp:forward page=”a.jsp”/>

 

  1. 带参跳转
  1. 传参

<jsp:forward page=”b.jsp”>

     <jsp:param name=”p1” value=”001”/>

     <jsp:param name=”p2” value=”002”/>

</jsp:forward>

  1. B.jsp中接收参数

String v1=request.getParameter(“p1”);

String v2=request.getParameter(“p2”);

Out.println(v1+”<br>”+v2);

Taglib指令

taglib指令其作用是让用户在网页中使用自定义的新标签

其属性有两个:

      1. uri          指定要使用的自定义标签存放的位置
      2. prefix       为该标签声明别名,用于使用和区分

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

JSP元素-动作

常用的JSP标准动作根据功能分为两类

用于操作JavaBean

  1. <jsp:useBean>---->相当于java中的创建对象
  2. <jsp:setProperty>------>相当于java中的set方法
  3. <jsp:getProperty>-------->相当于java中的get方法

<!-- useBean:首先会从作用域中取对象,如果取不到,会自己创建一个对象,同时放到作用域中 -->

<jsp:useBean id="stu1" scope="session" class="po.Student"  ></jsp:useBean>

<!-- 设置属性的值     表单中的name属性和javaBean中的属性名一致-->

<jsp:setProperty name="stu1" property="id" value="1" />

<jsp:setProperty name="stu1" property="uname" value="aaaa"/>

<jsp:setProperty name="stu1" property="upwd" value="123"/>

<!-- 获取属性值      -->

ID: <jsp:getProperty name="stu1" property="id"/><br>

uname: <jsp:getProperty name="stu1" property="uname"/><br>

upwd: <jsp:getProperty name="stu1" property="upwd"/><br>

 

用于页面显示

  1. <jsp:include> --->动态包含(运行时)可以传参数

类似include指令,不同之处在于资源的url可以是静态表示也可以为通过计算获得的动态url;

<jsp:include>的属性:

page指定一个要包含资源的相对url

flush设置是否自动清空缓冲区,默认为false

  1. <jsp:forward> -->用于页面转发

用于页面转发,需要注意的是该元素的转发效果是即时生效的,意味标签之后的程序将不会被执行

       <jsp:forward>的属性:

page指定转发的目标资源所在的url 

  1. <jsp:param> 包含在前两个标签中-->用于传递参数

<jsp:param>包含在<jsp:include>与<jsp:forward>标签主体中,用于传递参数给资源

name设置参数名称

value设置参数值

 

  • 动态包含

    <jsp:include page="footer.jsp">

        <jsp:param name="id" value="123"/>

        <jsp:param name="name" value="laoa"/>

    </jsp:include>

  • Footer.jsp中得到参数

         ${param.id }${param.name }

Jsp常见内置对象

Jsp共有以下9种基本内置对象

一般JSP程序员习惯性将request,session,application和pageContext归为作用域对象

四个对象都拥有setAttribute()与getAttribute()方法,用于存放和获取对象中的数据

 

  1. Request -->用户端请求,此请求包含来自GET/POST请求的参数
  2. Response -->网页传回用户端的回应
  3. Out -->用来传送回应的输出
  4. Session -->与请求有关的会话期
  5. Application -->servlet正在执行的内容
  6. pageContext -->网页的属性是在这里管理
  7. Page -->jsp网页本身
  8. Config -->servlet的构架部件
  9. Exeption -->针对错误网页,会记录相关的错误的信息
  1. exception对象和Java的Exception对象是一样的
  2. 只有page指令的isErrorPage属性被设置为true才可以使用exception对象

 

隐式对象与Servlet中的对象作对比

  • rquest作用相当于javax.servlet.http.HttpServletRquest
  • response作用相当于javax.servlet.http.HttpServletResponse
  • out作用相当于Servlet中response.getWriter()后的PrintWriter
  • session作用相当于javax.servlet.http.HttpSession
  • application作用相当于javax.servlet.ServletContext
  • pageContext比较特殊,本质是javax.servlet.jsp.PageContext,除可以在当前页面保存数据外,事实上所有的隐式对象都可以通过pageContext获取
  • page作用相当于尚未指定具体类型的java.lang.Object
  • config作用相当于javax.servlet.ServletConfig
  • exception作用相当于java.lang.Exception

Expression Language=EL表达式

语法:${表达式} ,相当于jsp1.2表达式语言<%= 表达式 %>

表达式:任何常量、变量、运算表达式

EL变量搜索顺序

搜索顺序:pageContext-request-session-application

EL表达式运算符

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangchuang2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值