预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

JSP学习笔记 8.18.2012 1.JSP简介 1)JSP全称是JavaServerPages——java服务页面。 jsp最终是翻译为servlet使用的。 2)Jsp是一种动态web资源开发技术:因为jsp中允许编写java代码,并且允许获取request、response等常用web开发对象,实现与浏览器交互,所以称jsp为动态web资源开发技术。 3)jsp实例1:输出当前时间(day0812) 分析:jsp会转为servlet去执行,其中jsp页面中的html元素会在service方法中的out.write()中输出,而其中的java代码将原样呈现为java代码。 2.JSP最佳实践 Servlet作为web应用中的控制器组件,jsp作为数据显示模版。 IE将请求发给servlet,servlet处理数据以后通过请求转发(forward)技术转发到jsp做显示输出。此时servlet及其转向的jsp页面共享同一个请求,在servlet中通过req.setAttribute(“data”);将数据传给request域,然后再forward就可以将request转发过去。 3.Jsp语法 1)Jsp模版元素 jsp页面中的html内容,定义了网页的结构和外观。 2)jsp脚本表达式(expression)用于将程序数据输出到客户端 语法:<%=变量或表达式%> Jsp中向页面输出数据的方法: 使用jsp的内置对象out输出:out.write(date); 使用脚本表达式输出:<%=date%> 3)jsp脚本片段(scriptlet)用于在jsp页面中嵌入多行java代码。 语法: <% 多行java代码 %> 多个脚本片段中的代码可以互相访问。 单个脚本片段中的java语句可以是不完整的,但是多个脚本片段组合后的结果必须是完整的java语句。 4)jsp声明 jsp页面中编写的所有代码会翻译到servlet的service方法中,而jsp声明中的java代码被编译到_jspService方法的外面。 语法:<%!java代码%> 5)page指令<%@指令属性名="值"%> <%@page [language="java"] [extends="package.class"] [import="{package.class|package.*}"] [session="true|false"]//若将其置为false则不能在jsp页面中直接使用session对象。 [buffer='"none|8kb|sizekb"]//默认8kb的缓冲 [autoFlush="true|false"]//默认为true,自动刷新 [isThreadSaFe="true|false"]//当置为false时,线程安全,会继承SingleThreadModel,默认值为true(线程不安全) [info="text"] [errorPage="relative_url"]//使用相对路径的url,此处“/”代表当前web应用根目录。 [isErrorPage="true|false"]//是否是一个错误处理页面,设置为true时,服务器会将异常对象传递过去。 [contentType="text/html;charset=utf-8"]//类型 [pageEncoding="charset|utf-8"] [isELIgnored="true|false"]//是否忽略EL表达式,默认为false %> JSP引擎会自动导入的包(若想引入多个包,之间用逗号间隔): java.lang.*、javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*。 则在jsp页面中使用request,response,System时便可直接使用。 include指令 (1)静态包含(编译时包含,翻译成一个servlet) 用于引入其他的jsp页面,若在一个jsp页面中引入了其他的jsp,则jsp引擎将把所有这些jsp翻译成一个servlet。 <%@includefile="relativeURL"%>//file属性:指定被引入的文件路径,以“/”开头,代表当前web应用。 动态包含(有几个jsp就翻译成几个servlet,然后将执行结果包含在一起) <% request.getRequestDispatcher("/page/1.jsp").include(request,response); %>taglib指令:引入标签库 eg:引入JSTL标签库 <%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%