`

JSP、Servlet等------学习笔记

 
阅读更多
    JSP(Java Server Page)和Servlet是JavaEE规范的两个基本成员,他们是JavaWeb开发的重点知识,也是JavaEE开发的基础知识。JSP和Servlet本质是一样的,因此JSP最终必须编译成Servlet才能运行,或者说JSP指示生成Servlet的“草稿”文件。Html+JSP标签(or自定义标签)。
除JSP外,表现层技术还有FreeMaker/Velocity/Tapestry等
JavaEE6规范的应用服务器或支持Servlet3.0的Web服务器-----如Tomcat7.X

2.1 Web应用和web.xml文件
web.xml又称配置描述符,位于每个web应用的WEB-INF路径下,JavaWeb应用的绝大部分组件都通过web.xml文件来配置管理。另外Servlet3.0规范可通过Annotation来配置管理Web组件。
Web.xml配置什么呢???
有:配置JSP、配置和管理Servlet、配置和管理Listener、配置和管理Filter、配置标签库、配置JSP属性
除此之外还配置、管理如下:
配置和管理JAAS授权认证、配置和管理资源引用、Web应用首页

2.2 JSP的基本原理
JSP的内容包括两部分:静态部分+动态部分(动态生成)
<%@ page contentType=”text/html;charset=GBK” language=”Java” errorPage=””%>
x.jsp转换成Servlet文件后,servlet名字为x_jsp.java,该类主要包含如下三个方法,init():初始化JSP/Servlet的方法
destroy():销毁JSP/Servlet之前的方法。
Service():对用户请求生成响应的方法。

2.3JSP的注释
JSP注释<%--udhusfi--%>
Html注释<!—dhdfs也是xml的注释
//单行注释

<%!
声明成员和方法              //会转换成Servlet对应的成员属性和方法
%>
2.4JSP的3个编译指令

JSP常见的三个编译指令:page、include、taglib
编译指令是通知JSP引擎的消息,他不直接生成输出。
格式:<%@ 编译指令名 属性名=”…..”%>

2.8JSP的7个动作指令

编译指令和动作指令不同,编译指令只是通知Servlet引擎处理信息,而动作指令只是运行时的动作。
编译指令在将JSP转换成Servlet时起作用。

JSP的主要7个动作指令:
Jsp:include   用于动态引入一个JSP页面
Jsp:forward    执行页面跳转,将请求的处理转发到下一个页面
Jsp:param    用于传递参数,必须与其它支持参数的标签一起使用
JSP:plugin     用于下载JavaBean或Appleat到客服端执行
JSP:useBean  创建一个JavaBean实例
Jsp:serProperty  设置JavaBean实例的属性值
Jsp:getProperty  输出JavaBean实例的属性值


2.9JSP脚本的9个内置对象

JSP脚本的9个内置对象都是Servlet API接口的实例,只是JSP规范对它们进行了默认初始化,由_jspService()方法来创建这些实例。

  Application:javax.servlet.ServletContext的实例,代表JSP所属的Web应用的本身
  Config:javax.ServletConfig的实例,代表JSP的配置信息
  Exception:java.lang.Throwable的实例,代表其他页面中的异常和错误,只有当编译指令page的isErrorPage属性为true时,该对象才使用。
  Out:javax.servlet.jsp.JspWriter的实例,该实力代表JSP页面的输出流,用于输出内容,形成html页面
  Page:代表页面本身,即Servlet的this
  PageContext:javax.servlet.jsp.PageContext的实例,代表JSP页面上下文,使用该对象可访问页面中的共享数据,常用的方法有getServletConfig()和 getServletContext()等
  Request:javax.servlet.http.HttpServletRequest的实例,该对象封装了一次请求,客服端的请求参数都被封装在该对象里边。
  Response:javax.servlet.http.HttpServletResponse的实例,代表服务器对客服端的响应。该对象常用于重定向,如sendRedirect(String)等,+getOutputStream();
  Session:javax.servlet.http.HttpSession的实例,该对象代表一次会话。

2.10 Servlet介绍

Servlet通常被称为服务端的小程序,是运行在服务端的程序,用于处理及相应客服端的请求。
Servlet是个特殊的类,这个Java类必须继承HttpServlet,每个Servlet可以响应客服端的请求,Servlett提供不同的方法来响应客服端请求:
doGet:响应客服端的get请求
doPost:
doPut:
doDelete:
HttpServlet还包括两个方法:init(ServletConfig config):创建Servlet实例时,调用该方法初始化Servlet资源。
Destroy(),销毁Servlet实例,自动调用该方法回收资源。

JSP和Servlet的区别:
1、Servle没有内置对象,原来JSP的内置对象都必须有程序显示创建
2、对于静态的html标签,Servlet都必须使用页面输出流逐行输出。


2.11  JSP2的自定义标签

自定义标签是一款非常优秀的表现层组件技术,通过使用自定义标签,可以封装复杂的功能。
开发标签的步骤:
1、开发自定义的标签处理类
2、建立一个*.tld文件,每个tld文件对应一个标签库,每个标签库可包含多个标签。
3、在JSP文件中使用自定义标签

○1
自定义标签类需继承一个父类:javax.servlet.jsp.target.SimpleTagSupport,要求:如果标签类包含属性,每个属性都应有对应的getter和setter方法,重写doTag()方法,这个方法负责在页面上输出内容。
○2
TLD是Tag Library Definition的缩写,即标签库定义,文件后缀是tld,每个tld文件对应一个标签库,一个标签库可包含对各标签。
○3
在JSP中确定制定的标签需要两点:
标签库URI:确定使用哪个标签库
标签名:确定使用那个标签

使用步骤:
1、 导入标签库
2、 <%@ taglib uri=”tagliburi” prefix=”me”%>
Prefix属性指定标签库前缀,即使用该前缀的标签将有次标签库处理。
<me:helloWorld/>


2.12 Filter介绍

Filter可以说是Servlet的加强版,主要用于对用户请求进行预处理,也可以是HttpServletesponse进行后处理,是个典型的处理链。

Filter有如下几类:
用户授权的filter
日志filter
负责解码的filter
能改变xml内容的XSLT Filter等。
Filter可以拦截多个请求和响应,一个请求和相应也可被多个filter拦截。

开发filter的步骤
1、创建filter类
2、Web.xml中配置Filter.

创建Filter需实现javax.servlet.Filter接口,也有三个方法init()/destroy()./doFilter(ServletRequest request,ServletResponse response,FilterChain chain);
Chan.doFilter(request.response);该方法是用来区分对用户进行预处理和服务器响应进行后处理的分界线

3、用Annotation来配置filter
需导入javax.servlet.Annotation这个类
@WebFilter(filterName=”log”,urlPatterns={“/*”})

Servlet配置
@WebServlet(name=”login”,urlPatterns={“/login”})

2.13Listener介绍

用于监听不同Web事件。
使用listener只需两个步骤
1、定义Listener类 ,需实现ServletContextListener接口
2、通过Annotation或web.xml文件中配置Listener

Web事件如:Web应用被启动,被关闭,用户Session开始、用户Session结束、用户请求到达等,通常这些事件对用户来说是透明的。

常用的几个监听接口:
ServletContextListener:用于监听Web应用的启动和关闭
ServletContextAttributeListener:用于监听ServletContext范围(Application)内属性的改变
ServletRequestListener:用于监听用户请求
ServletRequestAttributeListener:用于监听request范围内的属性的改变
HttpSesionListenr:用于监听用户Session的开始和结束
HttpSesionAttributeListener:......

2.14 JSP 2的特性

直接配置JSP属性---在web.xml文件中
表达式语言
简化的自定义标签API
Tag文件语法


表达式语言EL:是一种简化的数据访问方式。使用EL可以方便地访问JSP隐含对象和JavaBeans组件。
表达式语言格式:${expression}
1、支持算术运算符和逻辑运算符
2、表达式语言的内置对象包含11个
PageContext:与JSP的pageContext相同
pageScore:用于获取page范围的属性
requestScore:
sessionScore:
applicationScore:
param:用于获取请求的参数值
paramValues:
header:用于获取请求头的属性值
headValues:
initParam:获取Web应用的初始化参数
cookie:获取制定的cookie值

内置对象取值格式如:${内置对象名[‘属性名’]}  或者${内置对象名.属性名}




学习笔记..................
分享到:
评论

相关推荐

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 共三卷

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷

    JSP&Servlet学习笔记.pdf

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。  本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...

    JSP-Servlet学习笔记第2版.pdf

    由于直接学习笔记的内容没有给出具体的实例代码和详细解释,所以这里只提供了理论层面的知识点。如果需要学习具体实现,可以寻找相关的教程和项目实践来加深理解。同时需要注意的是,由于JSP/Servlet技术相对老旧,...

    老杜Servlet笔记.zip

    2020-5-05 Servlet学习 Tomcat 服务器配置 2020-5-08 UML 2020-5-08 Servlet学习 2020-5-09 Servlet学习 2020-5-10 Servlet学习 2020-5-11 Servlet学习---Cookie 2020-5-11 Servlet中的路径 2020-5-11 Servlet学习--...

    林学良Jsp&Servlet学习笔记

    **林学良Jsp&Servlet学习笔记**: 这份学习资料可能是对JSP和Servlet基础知识的系统性讲解,涵盖了上述概念和原理,适合初学者入门。通过阅读这份笔记,你可以了解JSP和Servlet的基本语法、生命周期、以及如何将它们...

    Servlet-JSP学习笔记

    老杜课堂Servlet-JSP学习笔记

    [JSP&Servlet;学习笔记(第2版)]

    **JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。

    JSP Servlet 学习笔记源码

    本学习笔记源码提供了全面的学习资源,涵盖了这两个技术的基础到高级应用,旨在帮助开发者深入理解并熟练掌握JSP和Servlet。 1. **JSP基础**: JSP是一种服务器端的脚本语言,它将HTML、CSS、JavaScript与Java代码...

    JSP_Servlet学习笔记(第2版).pdf

    《JSP & Servlet学习笔记(第2版)》涵盖了文本处理、图片验证、自动登录、验证过滤器、压缩处理、JSTL应用与操作等各种实用范例。 《JSP & Servlet学习笔记(第2版)》以“微博”项目贯穿全书,将JSP & Servlet技术应用...

    jsp/servlet个人学习笔记

    学习 JSP 和 Servlet 要注重理论与实践相结合,不仅要理解它们的工作原理,还要通过编写实际项目来提升技能。同时,不断关注新技术,如 Spring Boot 和微服务架构,这将有助于你更好地适应 Java Web 开发的未来趋势...

    吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案

    吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案 本资源为吉林大学珠海学院JSP&Servlet学习笔记(第二版)的课后答案,涵盖了JSP和Servlet相关的知识点。本笔记共分为九章,每章节都包含了相关的问题答案,...

    JSP & Servlet学习笔记

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。, 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...

    JSP Servlet学习笔记

    JSP Servlet学习笔记,java编程相关知识

    JSP_Servlet学习笔记(第2版)

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP &Servlet;时遇到的概念、操作、应用或认证考试等问题及解决方案。  本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...

    JSP &amp; Servlet学习笔记(第2版)

    书 名:JSP & Servlet学习笔记(第2版) 作 者:(台湾)林信良 著 出 版 社:清华大学出版社 出版时间:2012-5-1 ISBN:9787302283669 纸书页数:456页 定 价:¥ 58.00 内容简介: 本书是作者多年来...

    jsp-servlet笔记源码

    总的来说,这份"jsp-servlet笔记源码"提供了一个实用的学习资源,结合理论知识与实践代码,对于提升Java Web开发技能大有裨益。通过深入研究,开发者不仅可以熟练掌握JSP和Servlet的使用,还能提升对Web应用架构设计...

    Jsp&Servlet学习笔记中的完整范例Gossip

    在"Jsp&Servlet完整范例Gossip"中,可能包含了各种应用场景,如用户登录、注册、数据查询、提交表单等,通过实际操作可以帮助初学者深入理解JSP和Servlet如何协同工作,以及Model2架构的实现方式。文件列表中的...

Global site tag (gtag.js) - Google Analytics