简单介绍jsp技术;--了解

简单介绍jsp技术;–了解

1)说明:
  a、jsp是服务器端运行的脚本语言,本质是servlet;
  b、先有servlet,后有jsp;使用servlet实现动态网页比较麻烦,所以才出现jsp技术方便做动态页面
  c、可以认为servlet是java代码中包含html(使用输出流以字符串的形式输出html代码),jsp是html中包含java代码(使用<%...%>包含java代码);
  d、在tomcat的work文件夹中,有jsp翻译之后生成的.java文件和编译之后生成的.class文件;
2)jsp的运行原理:
  a、当服务器第一次执行jsp时,会把jsp翻译为类似servlet的java代码;然后编译java代码生成class类文件;
  b、再执行类文件生成html代码,以响应的形式返回给客户端浏览器显示;
  c、以后再访问该jsp时,直接执行类文件生成html结果,不需要再进行翻译、编译的过程了;
  d、当jsp源代码被修改后,又会重新进行翻译、编译的过程;
3)jsp页面的组成:
  a、模板文本:html、js、css、页面中的文本等内容;
  b、jsp元素:以<%......%>包围的内容;
4)jsp元素种类:
  a、jsp脚本:包含jsp脚本(<%......%>)、jsp表达式(<%=......%>)、jsp声明(<%!......%>)、jsp注释(<%--......--%>);
  b、jsp指令:包含page指令(<%@ page ......%>)、include指令(<%@ include ......%>)、taglib指令(<%@ taglib ......%>);
  c、jsp动作:包含<jsp:forward ...>、<jsp:include ...>等
7)jsp的9个内置对象:--常见的笔试题,回答时要对内置对象做简要说明;
pageContext:页面上下文对象,只在当前页面有效,可以存取数据;
request:请求对象,相当于servlet中的HttpServletRequest对象;
session:会话对象,相当于servlet中的HttpSession对象;
application:应用对象,相当于servlet中的ServletContext对象;最大范围的存储对象;
response:响应对象,相当于servlet中的HttpServletResponse对象;
out:输出流对象,相当于servlet中的resp.getWriter()获取的对象;
config:配置对象,描述当前jsp的配置信息;
page:页面对象,表示当前jsp;
exception:异常对象,有isErrorPage="true"的jsp才能使用本对象;
8)jsp中的四个作用域对象(都可以存取数据):
pageContext:只在当前页面有效;
request:在请求范围内有效;
session:在会话范围内有效;
application:在整个应用范围内有效;
9)EL表达式
  a、表达式语言,可以获取作用域中存储的数据、可以进行简单的运算、可以获取web项目中常用的开发对象、可以调用java方法(不建议);
  b、语法:${表达式}
表达式可以是常量、变量,表达式中可以使用EL隐含对象、EL运算符号和EL函数
  c、EL表达式可以通过“.”或者“[]”来导航数据; 
  d、EL表达式可以替代我们要在jsp中写的jsp表达式的代码;
10)JSTL:
  a、当时的sun官方不建议在jsp中嵌入大量的java代码,这样会导致页面混乱;sun提供了标签库这个概念,允许程序员自定义类似于html的标签,通过使用标签来替代嵌入的java代码;
  b、sun官方也提供了一套标准的标签库,供程序员调用,就是jstl;
  c、jstl包含5个标签库,我们常用下面两个:
核心标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
I18N标签库(国际化标签库):<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
  d、jstl的使用:
需要在项目中先引入jstl的jar文件;
然后在jsp中通过<%@ taglib%>指令引入标签库文件;
最后在页面中使用标签的功能;
  e、条件标签:<c:if>  
语法:<c:if test="表达式">...标签中的内容...</c:if> 
说明:当表达式结果为true时,标签中的内容才显示到页面
  f、迭代标签:<c:forEach> 
语法:<c:forEach item="数组或集合" var="变量名"> ${变量名.属性} </c:forEach>
说明:遍历数组或集合,取得每个元素使用变量名表示,然后在标签里使用该变量;
  g、日期格式化标签:<fmt:formatDate> --掌握
语法:<fmt:formatDate value="date值" pattern="格式字符串"/>
说明:对date值按照指定格式进行格式化为字符串;
11)jsp也可以充当后台提供服务的功能(简单演示登录功能);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值