JavaWeb_JSP01

1、JSP与HTML有什么不同?

答:一个JSP页面通常由HTML标记、JSP注释、Java脚本元素(声明、Java程序片和Java表达式)和JSP标记(指令标记、动作标记和自定义标记)这4种基本元素组成

  1. HTML运行在客户端,由浏览器解释执行;JSP运行在服务器端,需要web容器提供运行环境。

  1. HTML侧重于静态数据展示,生成静态网页;JSP侧重于和服务器交互,主要用动态网页开发

  1. HTML加载速度比JSP快。

HTML 页面是静态页面,也就是事先由用户写好放在服务器上,由 Web 服务器向客户端发送;

JSP 页面是由 JSP 容器执行该页面的 Java 代码部分,然后,实时生成的 HTML页面,因而说其是服务器端动态页面。

Java程序片:<% java代码 %>

成员变量和方法的声明:<%! 变量或方法定义 %>

Java程序片具有如下特征:

①调用JSP页面声明的方法

②操作JSP页面声明的成员变量

③声明局部变量

④操作局部变量

Java表达式:<%= 表达式 %>

①不可以在<%=和%>之间插入语句,即所输入内容的末尾不能以分号结束

②<%=是一个完整的符号,<%和=之间不能由空格

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

<jsp:include page="a.jsp"/><!--JSP动作标记-->

<%!

int i=0;

int add(int x, int y){

return x+y;

}

//数据声明和方法声明在这里面

%>

<%

//Java程序片

i++;

int result=add(1,2);

%>

i的值为<%=i%> <%--Java表达式--%>

2、JSP注释有哪三种?

答:<!--HTML注释-->、<%--JSP注释--%>、Java注释(// 、/* */)

3、JSP的表达式的格式如何?它有什么作用?

答:Java的表达式:<%= %>,表达式的值由web服务器负责计算,并将计算结果用字符串的形式发送到客户端作为HTML页面的内容显示

4、JSP的程序段中可以定义方法吗?为什么?

答:不能定义方法,JSP代码编译时变成Servlet类中一个方法中的代码段

5、什么是JSP声明?它有什么用途?使用时应注意什么?

答:<%! %>是JSP的声明,可以在<%!%>中声明方法函数、属性、全局变量。不要声明局部变量

基本知识:

①JSP的本质就是一个Servlet,JSP在运行之前会先被Tomcat服务器翻译为.java文件,然后再将.java文件编译为.class文件,而我们在访问jsp时,处理请求的就是那个翻译后的类

②<%%>叫做脚本片段,其中编写的代码内容会翻译在Servlet的doservice方法中,显然我们可以在doservice方法中定义局部变量或者调用其他方法,但是不能在Service中

再定义其他的方法函数,也就是我们可以再<%%>中定义局部变量或者调用方法,但不能定义方法。在jsp页面可以有多个脚本片段,但多个脚本片段之间要保证完整

③<%!%>称作声明,其中写的内容将会直接翻译在Servlet类中,因为我们可以在Servlet类中定义方法和属性以及全局变量,所以我们可以在<%!%>中声明方法函数、属性、全局变量

④<%=%>称作jsp表达式,用于将已经声明的变量或表达式输出到html网页上

⑤直接写在jsp页面<body></body>中的代码称为模板元素,将会在Servlet的doservice方法中的out.write()中,作为输出内容。所以JSP中输出内容到页面可以使用out.write()或out.println()

6、URL传值的格式?获取参数的方法?

答:网址?参数名1=值1&参数名2=值2&......

request.getParameter();

URL的作用:

HTTP是应用层的协议,是一个基于请求/响应模式的、无状态的协议

Web页面本身无法向下一个页面传递信息,如果需要让下一个页面得知该页面中的值,除非通过服务器

Web页面之间传递数据,是Web程序的重要功能(通过服务器)

URL传值:

就是在URL后面给出一些参数

网址?参数名1=值1&参数名2=值2&......

作用:后一个页面可以从前一个页面获取一个或多个参数值

https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=jsp

http://localhost:8080/Prj04/page.jsp? m=3&n=5

获取URL参数

String 变量=request.getParameter("参数名");

返回URL传递的对应参数的值,结果为String类型

注意:如果URL没有传递参数或者参数名写错,返回结果为null,所以在编写程序时,通常要判断是否为null,否则有可能引发异常

URL传值的注意事项:

局限性:

传值的数据只能是字符串,对数据类型具有一定限制

传输数据的值会在浏览器地址栏里面被看到,保密性要求很严格的数据(如密码),不应该用URL方法来传值

优势:

简单性和平台支持的多样性(没有浏览器不支持URL),很多程序还是用URL传值比较方便

JSP指令标记

常用的JSP指令有page和include指令

<%@page 属性1="" 属性2=""...%>

page指令的主要属性有contentType、import、language和pageEncoding

contentType:属性定义一个值,用来确定响应的MIME类型(MIME类型就是设定某种文件用对应的一种应用程序来打开的方式类型),

如contentType="application/msword;charset=UTF-8" 浏览器使用word应用程序打开用户请求

常见的MIME类型有text/html、text/plain(普通文本)、application/pdf、application/msword、image/jpeg、image/png、image/gif、application/vnd.ms-powerpoint

import:属性的作用是JSP页面引入包中的类

language:属性用来指定JSP页面使用的脚本语言,目前是java

pageEncoding:contentType中的charset是指服务器发送给客户浏览器时所见到的网页内容的编码;pageEncoding是指JSP文件自身存储时所用的编码

include指令:<%@include file="文件的URL"%>(静态嵌入)

JSP动作标记

include、forward、param、useBean、getProperty和setProperty

<jsp: ></jsp>或<jsp: />

<jsp:include page="文件的URL"/> 作用:嵌入其他文件到当前的JSP页面(动态嵌入)

<jsp:forward page="文件的URL"/> 作用:从标记出现处停止当前JSP页面的继续执行,转向执行forward动作标记中的page属性值指定的JSP页面

动作标记param不能独立使用,但可以作为include、forword动作标记的子标记来使用,该标记以“名字-值”对的形式为对应页面传递参数

<jsp:父标记 page="接收参数页面的URL">

<jsp:param name="参数名" value="参数值">

</jsp:父标记>

父标记为:include、forword

接收参数的页面可以使用内置对象request调用getParameter("参数名")方法获取动作标记param传递过来的参数值

7、什么是JSP的指令和动作?

答:指令:include、page

动作:include、forward、param、useBean、getProperty和setProperty

8、page指令的import、contentType属性有什么作用?

答:import:属性的作用是JSP页面引入包中的类;contentType:属性定义一个值,用来确定响应的MIME类型

9、include指令的格式、功能如何?使用时应注意什么?

答:<%@include file="文件的URL"%>、

include指令标记的作用就是将JSP文件、HTML文件或其他文件静态嵌入到当前的JSP网页中

静态嵌入就是“先包含后处理”,在编译阶段完成对文件的嵌入。也就是将当前JSP页面与要嵌入的文件合并成一个新的JSP文件,

然后再由JSP引擎将新页面转化为Java文件处理并运行

10、include动作的格式、功能如何?使用时应注意什么?

答:<jsp:include page="文件的URL"/>

include动作标记的作用是将JSP文件、HTML网页文件或其他文件文本动态嵌入到当前的JSP网页中

动态嵌入就是“先处理后包含”,在运行阶段完成对文件的嵌入。也就是在将JSP页面转译成Java文件时并不合并两个页面,而是在Java文件的字节码文件被加载并执行时才去处理include动作标记中引入的文件。

与静态嵌入方式相比,动态嵌入的执行速度稍慢,但是灵活性较高

11、include动作与指令有什么不同?

答:嵌入方式不同,一个是动态嵌入,一个是静态嵌入

12、forward动作的格式、功能是什么?

答:<jsp:forward page="文件的URL"/> 作用:从标记出现处停止当前JSP页面的继续执行,转向执行forward动作标记中的page属性值指定的JSP页面

13、include、forward动作如何传递参数?

动作标记param不能独立使用,但可以作为include、forword动作标记的子标记来使用,该标记以“名字-值”对的形式为对应页面传递参数

<jsp:父标记 page="接收参数页面的URL">

<jsp:param name="参数名" value="参数值">

</jsp:父标记>

父标记为:include、forword

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值