jsp学习笔记

来源:互联网 发布:东北大学网络电视网址 编辑:程序博客网 时间:2024/05/29 04:19
jsp学习笔记:


jsp为什么会出现?
开发web网站的时候,发现serlet做界面比较麻烦
jsp是什么?
1.jsp运行在服务器
2.jsp(java server page)
3.jsp的基础是servlet(相当于对servlet进行了一个包装
4.jsp 综合技术
jsp=html+javascript+java片段+jsp标签(servlet)
5.jsp无需配置,直接使用,如果你修改了jsp文件,不
6.jsp是一种动态网页技术


快速入门案例:
<meta prog吗“content="no-cache">
是否缓存
<%@ page language="java" pageEnconding="utf-8"%>
<!--language表示 jsp的片断语言 pageEnconding:编码方式




<%
//在<% %>中间可以写java代码,就和在java文件中写java代码是一样的




%>
jsp的位置


servlet






第二讲:
work/
jsp页面会生成一个servlet
showtime_jsp.java
out对象是jsp的内置对象 (九大内置对象之一)
web服务器在调用jsp的时候会提供9大内置对象
jsp中的多个java片段在翻译成servlet后
会放在一个函数中,
1.就是多个<% %>其实相当于一个大的《%>%>
2.在<% %>中定义的变量会成为service的
局部变量
3.九大内置对象out,
4.web服务器在调用jsp是,会给
html只能显示静态页面,servlet很难对数据进行排版
jsp基础语法:
jsp标签:
jsp的语法
(1)指令元素:用于从jsp发送一个信息到容器,
1.page指令
<%@ page language="java" session="true" import="java.util.*" contentType="text/html;charset="utf-8" %>
import用于引包
language用于定义嵌入的语言
session默认属性为true,不想用可以设置为false
buffer=[none|8k|指定大小,给out对象使用
的缓冲区是多大,默认是8k
autoFlash=[true|false]当buffer满后
是否自动刷新浏览器
isThreadSafe=[true | false]默认为
true由程序员控制
errorPage="/error.jsp"当出错时自动跳转到此页面
使用相对路径
contentType="text/html"
pageEnconding
常用属性:
contentType="text/html"指定网页以什么方式显示页面
pageEnconding指定servlet 引
2.include指令
<%@ include file="b.jsp" %>
用于引入一个文件,jsp引擎会吧两个jsp文件翻译成一个servlet文件,
因此也称为静态引入.以/开头
被引入的页面只需保留page指令即可,<html><body>均可省略.
只保留内容本身
3.taglib指令
<mytag:xx 属性/>
自定义标签


(2)脚本元素
1.script 
java片段:
 <% java代码 %>
 表达式:
<%=i %>表达式,也可以运算,但是不能带分号,
3.delaration声明
<% int i = 88; %>//i为局部变量


<%! int i = 99; %>//成员变量
定义变量,定义函数
<%
out.println(i);//输出为88
//不能在这里定义函数
%>


面试题:


(3)动作元素 :使用xml语法写
1.<jsp:forward>//转发
<jsp:forward page="/manage.jsp"></jsp:forward>
在开发jsp过程中,我们通常把jsp放入WEB-INF目录中,目的是为了防止用户直接访问
这些jsp文件
在WebRoot下我们有一个入口页面,它主要用来转发


jsp文件放在webRoot中是不安全的
WEB-INF中的文件是被tomcat 保护的
真正开发中外部有一个文件跳转到那个文件
<jsp:forward page="/WEB-INF/Manage.jsp"></jsp:forward>
2.<jsp:userBean>//创建一个javabean实例
3.<jsp:setProperty>//


4.
5.<jsp:include page=""><jsp:include>//动态引入
分开编译
动态引入:
<%@ include file="">静态引入
<jsp:includefile=""></jsp:include>动态引入
相同点:把一个文件引入到另一个文件
区别:静态引入把两个jsp翻译成一个servlet,所以被引入的文件不要包含<body><html>
动态引入把两个jsp分别翻译,所以被引入的jsp文件包含有<body><html>也不会报错
(4)jsp文件的注释
<!-- 这是注释 -->  hmtl注释方式,jsp中也可以用
源文件中可以看到,servlet中也可以看到


<%-- 这是注释 --%>jsp专用注释,建议使用这种注释方法
jsp九大内置对象,
1.out  //向客户端输出数据,字节流
2.request//接受客户端的的http请求<- ->中的HttpServletRequest
3.response//
4.session
5.application
6.pageContext
7.exception
8.page
9.config
request HttpServletRequest 
response HttpServletResponse
application    <- ->ServletContext
out  jspWriter





0 0
原创粉丝点击