一、jsp中写java脚本代码的三种方式
1. <%--下面是第一种在jsp页面中,写java脚本的方式,翻译后会变成jspService()函数内部的局部代码段 --%>
<%
String str="Hello";
str=str+666;
out.println(str);
%>
2.<%= ss%>
在页面当前位置输出变量内容的写法
3.<%!%>
翻译后会变成japServlet类中的成员变量
二、pageEncoding与contentType的区别
pageEncoding是jsp文件本身的编码 ,把jsp文件编译成java的时候给编译器用的 。
contentType的charset是指服务器发送给客户端时的内容编码 ,是浏览器解析网页的时候用的
如果两个任意设置了其中一个,另一个即会与此保持一致。但,contentType除可以设置charset外,还可以设置MIME类型,如text/html
三、jsp中的九个隐藏对象
pageContext, request, session, application,config, response,out
四、JSP常用指令
1.JSP指令-page
格式:<%@ 指令名 属性=“值”%>
-用于指定所使用的语言,及导入的包,如:
<%@ page import=“java.util.*,java.sql.*”%>
a.当page指令中的session属性值设为false时,不能直接在jsp页面中使用session对象,但可以用request获取
如:request.getSession().setAttribute("name","kkk");
b.errorPage="myErroPage.jsp"
用erroPage属性指定,出错后所导向的页面
c.isErrorPage="true"
当page指令中的isErroPage属性的值设为true时,当前页面才可以调用 exception对象
2.JSP指令-include
JSP可以通过include指令来包含其他文件的内容,被包含的可以是JSP或html文件。
语法:
A.静态导入
<%@ include file=“目标页面”%>
如:<%@include file="demo2.jsp" %>
<!-- 静态导入:用@include指令,Tomcat把导入及被导入页面的代码都翻译到 _jspService()方法中,生成一个servlet类。该方式下是共享局部变量(开发时注意不要变量重复声明),reqeust,response。开发时"被导入页面"一般不写html和body等"导入页面"已经有的部分,否则重复了 -->
B.动态导入
<jsp:include page="include2.jsp"></jsp:include>
<!-- 动态导入:用jsp:include标记,Tomcat把导入及被导入页面的代码分别翻译成独立的servlet类。每个页面有自己的_jspService()方法和对应的servlet类----两个独立的servlet类,但前一个通过 请求包含 调用另一个。该方式下是不共享局部变量(开发时变量相同没关系,是相互独立的)。但reqeust和response是共享的。开发时"被导入页面"要自己写html和body等标记,以形成自己独立的页面。 -->
3.JSP指令-taglib—标签库
taglib指令,用于在页面上声明要使用的自定义标签。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
uri – 指定自定义的标签的引用URI。
Prefix-指定使用时的前缀。