欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jsp的运行原理和基本语法

程序员文章站 2022-04-15 19:28:17
jsp全称是java server pages 它和servle技术一样,都是sun公司定义的一种用于开发动态web资源的技术 jsp实际上就是servlet 运行原理 访问服务器上jsp页面 服务...

jsp全称是java server pages

它和servle技术一样,都是sun公司定义的一种用于开发动态web资源的技术

jsp实际上就是servlet

运行原理

访问服务器上jsp页面

服务器中jsp-->翻译成.java文件-->编译成.class文件

jsp和servlet最佳使用方式

servlet:获取参数 处理逻辑 请求转发

jsp:html界面 数据回显

jsp的基本语法

jsp注释<%--注释内容-->      特点:安全,省流量

网页注释:<!-- 网页注释 -->    特点:不安全,费流量

小脚本 <% java代码 %>

声明成员变量和方法    <%! %>

显示数据  <%= %>相当于out.print()

3个指令

(1)page

<%@page ...%>

session开关 默认开启

pageencoding 设置本页面的编码格式

contexttype: 等同于response.setcontexttype("text/html;charset=utf-8");

errorpage: 如果页面中有错误,则跳转到指定的资源。

iserrorpage:默认是关闭的 开启后可以使用exception对象来获取异常信息

(2)include

静态包含:把其它资源包含到当前页面中。

在翻译时就把两个文件合并

<%@ include file="/include/1.jsp" %>

动态包含:不会合并文件,当代码执行到include时,才包含另一个文件的内容。

<jsp:include page="/include/1.jsp"></jsp:include>

(3)taglib

作用:在jsp页面中导入jstl标签库。替换jsp中的java代码片段。

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

6个动作

<jsp:include > 动态包含

<jsp:forward> 请求转发

<jsp:param> 设置请求参数

<jsp:forward page="/7.jsp">

         <jsp:param value="wanglong" name="username"/>

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

 </jsp:forward>

<jsp:usebean> 创建一个对象

<!-- 使用userbean标签创建一个对象 

        id表示创建对象的名字

        class表示使用哪个类创建该对象

 -->

<jsp:setproperty> 给指定的对象属性赋值

<jsp:getproperty> 取出指定对象的属性值

//name表示要赋值那个对象

jsp的9个内置对象

request

response

session

application

exception  获取异常信息 默认是关上的

page 当前servlet实例 this

config

out

pagecontext(利用pagecontext对象 往各个域中存值)

参数3表示向哪个域里存值

pagecontext.setattribute("www", "request",pagecontext.request_scope);

全域查找 域从小到大进行查找

<%=pagecontext.findattribute("www") %>

el表达式

一个书写规范,提供了java代码在jsp页面的简便书写方式

功能

1.获取存在4个作用域中的数据 

${u} 相当于 pagecontext.findattribute("u");

el获取对于null这样的数据,在页面中表现为空字符串

判断空值的方法

关键词 empty

${empty u}

支持三目判断

${empty str3?"我是前面的":"我是后面的" }

获取对象的属性值 javabean导航(对象导航)

内部就相当于调用了getusername()方法 

用点能获取的 用[]都能获取

用[]获取的 点获取不了

使用隐式对象 指定域找对应的值

${pagescope.xx}

${requestscope.xx }

${sessionscope.xx }

${applicationscope.xx }

获取表单提交的数据

${param.username }

${param.password }

${paramvalues.hobby[0] }