jsp的初步理解和总结

什么是jsp

jsp(JavaServer Pages)是一种动态网页技术标准,可以说他是一个servlet,因为jsp会被编译成servlet代码,关于servlet我在这里写过。
https://blog.csdn.net/qq_44861455/article/details/104398753

jsp出现的原因

因为servlet代码冗长繁琐,不适合用来编写网页,所以出现了jsp的技术,编写之后通过servlet容器转换成servlet。

jsp结构和生命周期

当jsp被编译成servlet后,会有三个生命周期方法。

_jspInit
_jspDestroy
_jspService

这与servlet是相似的,但他与servlet不相同的是,他不需要用注解或者webxml中描述他的url位置,他可以直接在浏览器中用**.jsp寻找。

jsp使用java代码

通过<%%>来插入java代码,jsp在编译成servlet时,这段代码会添加在jspservice方法中,但是现在jsp通常作为前端页面,并不适合在其中插入java代码,会导致耦合,一般用el表达式代替。

jsp指令

page

在idea建立jsp后,在开头会有一行代码,
<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>
这是jsp的page指令。

<%@ page att1=“values” att2=“values” att2=“values” %>
这是page指令的基本格式,att代表page指令的属性,像上面的language代表着脚本语言类型,contentType代表隐式对象response的内容类型,pageEncodeing是字符编码,默认是ISO-8859-1.
所以要想呈现中文字体,需要改成UTF-8。
当page指令包含contentType和charset属性时,必须在开头,其他的可以在任意位置。

include

<%@ include … %>
包含其他文件

taglib

标签库
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
这行代码代表着装载jstl标签库

jsp表达式

<%= %>
相当于<% out.print(****) %>

EL表达式(重点)

前面提到了,现在的MVC模式设计程序,JSP只是视图,视图的任务就是显示响应,而不是在JSP中做任何关于程序控制和业务逻辑的事情。所以在JSP页面中应该尽可能少的、或者是完全不出现Java代码。所以出现了EL表达式来代替java代码。

${} 这是格式,用“.”来获取javabean的属性,像${user.name},user是从后端传到jsp的user对象或者在jsp建立的javabean,用这个式子来获取他的name属性内容。

${username}它的意思是取出某一范围中名称为username的变量。因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。我们也可以指定范围,
例如我们要找Session中的username变量,可以${SessionScope.username}来限定他的范围。
这个EL表达式在目前的web开发中属于回显服务器数据的用途,非常重要,代替了用<%%>的java代码。
举个ssm的例子:
request.setAttribute(“user”,user);
我在后端控制器里提取了数据库的数据导入了user对象,以"user"的名字把user对象传入了request。
那么在jsp前端中,需要用${user.**}或者${RequestScope.**}来提取user的属性,即数据库的信息

JSPL表达式(重点)

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
下载jar包后,在jsp标注这句话,代表着导入了这个标签包,这个比较常用。
jsel表达式也是来代替java代码,简化开发的。用途一般是大范围显示数据库的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值