JSP入门

目录

JSP简介

1.什么是jsp

2.为什么会有jsp?  

 3.怎么用JSP

4.JSP内置对象

5.总结


JSP简介

JSP:Java Server Page

1.什么是jsp

从用户角度看待 ,就是是一个网页 , 从程序员角度看待 , 其实是一个java类, 它继承了servlet,所以可以直接说jsp 就是一个Servlet.

2.为什么会有jsp?  

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

 3.怎么用JSP

###指令写法

<%@ 指令名字 %>

JSP三大指令:

  • page指令

language :表明jsp页面中可以写java代码

contentType :其实即使说这个文件是什么类型,告诉浏览器我是什么内容类型,以及使用什么编码

    contentType="text/html; charset=UTF-8"

    text/html  MIMEType 这是一个文本,html网页

pageEncoding:jsp内容编码

extends:用于指定jsp翻译成java文件后,继承的父类是谁,一般不用改。

import:导包使用的,一般不用手写。

session :

值可选的有true or false .。

用于控制在这个jsp页面里面,能够直接使用session对象。

具体的区别是,请看翻译后的java文件 如果该值是true , 那么在代码里面会有getSession()的调用,如果是false : 那么就不会有该方法调用,也就是没有session对象了。在页面上自然也就不能使用session了 。

errorPage :指的是错误的页面, 值需要给错误的页面路径

isErrorPage :上面的errorPage 用于指定错误的时候跑到哪一个页面去。 那么这个isErroPage , 就是声明某一个页面到底是不是错误的页面。

  • include 指令:包含另外一个jsp的内容进来。 把另外一个页面的所有内容拿过来一起输出。 所有的标签元素都包含进来。
	<%@ include file="other.jsp"%>
  • taglib 指令

 	<%@ taglib prefix=""  uri=""%>  

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

JSP 动作标签 :

<jsp:include page=""></jsp:include>
<jsp:param value="" name=""/>
<jsp:forward page=""></jsp:forward>

jsp:include :

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

包含指定的页面, 这里是动态包含。 也就是不把包含的页面所有元素标签全部拿过来输出,而是把它的运行结果拿过来。

jsp:forward  :

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

前往哪一个页面。

<%
    //请求转发
    request.getRequestDispatcher("other.jsp").forward(request, response);
%>   

 jsp:param :

在包含某个页面的时候,或者在跳转某个页面的时候,加入这个参数。

		
	<jsp:forward page="other.jsp">
		<jsp:param value="beijing" name="address"/>
	</jsp:forward>

 在other.jsp中获取参数:

<br>收到的参数是:<br>

<%= request.getParameter("address")%>

4.JSP内置对象

所谓内置对象,就是我们可以直接在jsp页面中使用这些对象。 不用创建。

  • pageContext

  • request

  • session

  • application

以上4个是作用域对象 ,  

作用域 :表示这些对象可以存值,他们的取值范围有限定。 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")%>

 作用域范围大小(由小到大): pageContext -- request --- session -- application

四个作用域的区别:

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

以下为其他五个内置对象:

  • out 【JspWriter】& response 【HttpServletResponse】:
<body>

这是demo。jsp的页面<br><!-- 查看源码可以发现,这行其实也是通过out对象输出的  -->

<%
	out.write("这是out对象输出的内容");
%>

<br>

<%
	response.getWriter().write("这是使用response1对象输出的内容<br>");
%>
</body>

该页面显示为:

 原因:

  • exception 【Throwable】:只有当前页面为错误页面时,才可使用此对象
  • page 【Object】:就是这个jsp翻译成的java类的实例对象
  • config 【ServletConfig】:可以取Servlet的配置

5.总结

三大指令:

  • page
  • include
  • taglib

三个动作标签:

  • jsp:include
  • jsp:forward
  • jsp:param

九个内置对象:

    四个作用域:

  • pageContext
  • request
  • session
  • application

 

  • out
  • exception
  • response
  • page
  • config
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值