javaweb——jsp

灵魂三问

什么是jsp

jsp:java server pages(java服务器页面),由早前的 sun 公司倡导,很多企业一起参与研发的动态网页技术。

有什么用

html 多数情况下用来显示静态内容 , 一成不变的。 但是有时候我们需要在网页上显示一些动态数据, 比如: 查询所有的学生信息, 根据姓名去查询具体某个学生。  这些动作都需要去查询数据库,然后在网页上显示。 html是不支持写java代码  , jsp里面可以写java代码。 

怎么用

<% 内容 %>

 

总概

我们将分为以下几点进行学习:

  1. 三大指令 :page、include、taglib
  2. 动作标签 :(重点三个 forward、include、param) 
  3. 九大对象  :pageContext、request、session、application、out、response、exception、page、config

三大指令

1、page指令

写法:<%@ page [属性名=属性值 …] %>

实例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isErrorPage="false" session="true" errorPage="error.jsp"%>

常用属性

language:页面所用的语言,默认为java,指定的语言将影响是之后jsp语法中能使用哪些语法

contentType:text/html,MIMEType 表示一个为文本,html网页,也可指定为视频等等,charset指定文本编码方式,默认为: text/html; charset=ISO-8859-1

pageEncoding: jsp内容编码

session:用于控制在这个jsp页面里面能否直接使用session对象。,默认为true,即能使用

errorPage:指定页面出现错误是跳转的页面,与isErrorPage配合使用

isErrorPage:指定该jsp是否Wie错误的跳转页面,默认为false,即不是。设置为true时表示该页面为错误跳转页面

2、include指令

写法 :<%@include file="文件名" %>

实例:

<%@include file="other02.jsp" %>

实现细节:把另外一个页面的所有内容拿过来一起输出。 所有的标签元素都包含进来。

如other01页面中包含other02页面,则java代码如下:


 

3、taglib指令

写法:<%@ taglib prefix=""  uri=""%>  

 prefix : 标签库的别名     uri: 标签库路径   

暂时不讲,将在el和jstl中继续提到

 

动作标签

写法: <jsp:标签名>

包含以下标签:

常用的有三个:forward、include、param

 1、forward

作用:实现请求转发

使用实例:

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

2、include

作用:包含某个页面

使用实例:

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

注: 这里是动态包含。 也就是不把包含的页面所有元素标签全部拿过来输出,而是把它的运行结果拿过来。  底层实现代码如下:

3、param

作用:设置参数(注:需要与forward或include配合使用)

一般与forward一起使用,设置转发带过去的参数

使用实例:

<jsp:forward page="other02.jsp">
	<jsp:param value="houyi" name="name"/>
</jsp:forward>

 

九大对象

jsp中包含了9个内置的对象(即jsp帮你创建好了不用自己创建的对象),分别为:

作用域对象(四个)

- pageContext   作用域仅限于当前的页面。  还可以获取到其他八个内置对象。
- request   作用域仅限于一次请求, 只要服务器对该请求做出了响应。 这个域中存的值就没有了。
- session   作用域限于一次会话(多次请求与响应) 当中。 
- application   整个工程都可以访问, 服务器关闭后就不能访问了。 

是什么:表示这些对象可以存值(通过setAttribute   和  getAttribute),他们的取值范围有限定。 

使用实例:

		使用作用域来存储数据<br>

		<%
			pageContext.setAttribute("name", "page");
			request.setAttribute("name", "request");
			session.setAttribute("name", "session");
			application.setAttribute("name", "application");
		%>
		
		取出四个作用域中的值<br>
		
		<%=pageContext.getAttribute("name")%>
		<%=request.getAttribute("name")%>
		<%=session.getAttribute("name")%>
		<%=application.getAttribute("name")%>

输出对象(两个)

- out         【JspWriter】

- response  【HttpServletResponse】

区别:先输出response的内容再输出out的内容

原因:在jsp生成的java代码中可看到,out对象输出内容需放置到response的缓冲区去,故先输出response本身要输出的内容,然后再输出out里面的内容

其他对象(三个)

- exception(Throwable)  只有在指定为错误页面的jsp中才有

- page (Object)   this对象,即页面本身

- config (ServletConfig)   和ServletConfig的对象用法一样

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSPJavaServer Pages)是一种服务器端的动态网页开发技术,它可以将 Java 代码嵌入 HTML 页面中,从而实现动态网页的生成。 JSP 的基本原理是将 JSP 页面翻译成 Servlet,在服务器端执行 Servlet 代码,再将执行结果返回给客户端。因此,我们在使用 JSP 开发网页时,需要先了解 Servlet 的相关知识。 JSP 的语法基本上就是 HTML 标签加上 Java 代码。以下是一些基本的 JSP 标签: 1. <% ... %>:嵌入 Java 代码,可以用于定义变量、写循环、判断语句等。 2. <%= ... %>:输出 Java 代码的执行结果。 3. <%-- ... --%>:注释,不会被翻译成 Servlet。 4. <jsp:include ... />:包含其他 JSP 页面或 HTML 页面。 5. <jsp:forward ... />:将请求转发到其他资源(JSP 页面、Servlet 或 HTML 页面)。 6. <jsp:useBean ... />:创建 JavaBean 对象。 7. <jsp:setProperty ... />:为 JavaBean 对象设置属性。 8. <jsp:getProperty ... />:取得 JavaBean 对象的属性值。 在 JSP 页面中,我们还可以使用 EL 表达式和 JSTL 标签库来简化代码编写,提高开发效率。 EL(Expression Language)表达式是一种简化的表达式语言,可以用于取值、赋值、计算等操作。例如,${name} 表示取得名为 name 的变量的值。 JSTL(JavaServer Pages Standard Tag Library)是一套标签库,提供了循环、条件判断、格式化、国际化等常用功能的标签。例如,<c:forEach> 标签可以用于循环遍历集合,<c:if> 标签可以用于条件判断。 除了以上标签库,JSP 还支持自定义标签库。我们可以通过编写标签处理器来扩展 JSP 的功能。 JSP 的优点是可以将 Java 代码嵌入 HTML 页面中,使得网页的开发更加灵活和方便。但是,由于 JSP 页面需要翻译成 Servlet,因此会增加服务器的负担和响应时间。此外,JSP 页面中夹杂着 Java 代码,也不利于代码的维护和调试。因此,在开发大型网站时,建议使用 MVC 设计模式,将业务逻辑和视图分离,使得代码更加清晰和易于维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值