世界热点!什么是JSP?详解_jsp是什么意思啊

2022-09-17 19:25:29来源:互联网  

一,什么是JSP
所谓jsp即java server pages 即Java服务器界面,是一种动态的网页开发技术,通过使用JSP标签在HTML中插入JAVA代码,并由JSP引擎进行编译执行之后,然后将整个生成的页面返回到客户端。

二,JSP组成
包括以下五个方面:
1静态内容:HTML静态文本


(资料图)

2JSP指令
语法:<%@ %>
2.1include指令
<%@ include file=“filename.jsp” %>
:表示在该jsp文件中包含另外一个jsp文件,好比我们通常会将菜单栏从页面中独立出来作为一个jsp页面,因为这样可以减少菜单项的加载次数,同时简化了页面的布局。

2.2page指令
<%@ page 属性名=属性值…%>
例如下面一个JSP页面的page指令

<%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%>

language=“java” 表示该jsp页面使用的是Java脚本语言
contentType="text/html"表示该jsp的编码方式为text/html
charset="utf-8"表示该jsp页面的字符编码集

2.3taglib指令
通常用于导入对应的标签库,主要有两个参数uri和prefix
如下是导入struts的标签库```

<%@ taglib uri="/struts-tags"  prefix="s" %>

三,JSP脚本元素和内置对象
1jsp脚本元素:
用来存放Java代码,主要是用于实现页面的动态请求
(1)Java脚本:在jsp代码中嵌入一段Java代码
语法:<% java代码 %>
(2)表达式:在jsp中嵌入一段表达式
语法: <% =java表达式/变量 %>
<% =4*30 %>
(3)方法声明:在jsp中定义Java方法
语法:<% !Java方法代码 %>
<%! string ssh(){
string s=“chen”;
out.println(s);
%>
}
<% =ssh() %>

以上就是jsp的脚本元素了,其实综合起来看,很简单,代码使用<% %> 方法使用!进行标识, 表达式使用=进行标识

2JSP内置对象
说到这里提一下,JSP和Servlet的区别之一就是Servlet无内置对象,但是JSP有内置对象,且内置对象都是有HttpServletRequest,HttpServletResponse和HttpServlet对象得到
其一共有9个内置对象:
(1)request:封装用户的请求,包含get和post等请求的参数。
常用方法:
String getParameter(String name)获取页面表单组件名称,获取页面提交数据

(2)response:封装用户对客户端的响应
常用方法:
void sendRedirect(String location):将请求重新定位到一个不同的URL

(3)Session对象,用来存储有关用户会话的所有信息
常用方法:
void getAttribute(String key)取出该key对应的值,注意取出该值时要进行类型的强制转换,因为取出的值为Object对象,也就是类对象
例如取出该session中的用户名
String name=(String)session.getAttribute(“username”);

void setAttribute(String key ,Object Value)以键值对的方式,将一个对象的值存放到session中.

(4)out对象:用于向客户端输出数据
常用方法:
print():在页面中输出数据
如下面一个HTML中内置java脚本的例子
<% out.printl(“cccc”) %>

(5)application对象,类似于系统中的"全局变量",用于实现用户之间数据的共享。
常用方法:
与session类似,
void serAttribute(String key,Object value):同样都是以键值对的方式,将一个对象的值存在application中
void getAttribute(String key)
取出对应值的时候,同样也是需要进行强制转换。

(6)pageContext:通过该对象可以获得其他对象

(7)config:Web应用的配置对象

(8)page:代表的是页面本身,(相当于java中的this)

(9)exception:代表页面抛出的异常对象

四,JSP动作
这里主要讲一个JSP 动作,就是动态包含
说到这里说之前,来看看JSP的动态包含和静态包含:
静态包含:<%@ include file=“filename.jsp” %>
执行过程是,
主页面会先将该子页面的源代码加载进来之后,再进行编译成Servlet

动态包含:<jsp:include page=“filename.jsp” >,执行过程是:主页面和子页面会各自被编译为Servlet

差异造成的结果:
这种差异造成的结果是
对于静态包含来说,当子页面的代码发生变化之后,该页面需要整体重新编译
对于动态包含来说,当子页面的代码发生变化之后,由于其实不同的Servlet,所以只有子页面需要重新进行编译,而主页面不需要进行重新编译

五,最后一个就是用户自定义标签,由于对自定义标签涉及很少,所以这里就不拓展了

相关阅读

精彩推荐

相关词

推荐阅读