一、jsp简介
1.jsp页面构成
静态内容(html)、指令(<%@page...)、表达式(<%=***%>)、脚本块(<%java代买块%>)、声明<%!%>、动作<jsp:动作名***/>、注释<%--注释部分--%>。
2.jsp 执行过程
客户端发出请求
------------>web容器将jsp转译成Servlet的源代码
------------>web容器将产生的源代码经过编译
------------>web容器加载编译后的代码并执行
------------>把执行结果响应至客户端
jsp实质就是一个servlet,转化和编译后,会创建一个servlet。此时开始servlet的生命周期。在servlet的生命周期中,jsp引擎(web容器)会加载和创建servlet类的实例。调用jspInit方法以初始化servlet类。jsp引擎调用jspService方法,并将请求和响应对象传递给jspService方法去执行并把结果返回给客户端。
3.jsp的优点
内容生成与表示相分离、强调可重用组件(如javabean)、简化页面开发
二、jsp脚本和指令的使用
1.jsp脚本元素(表达式、脚本块块(Scriptlet)、声明)前面已经说过
2.jsp指令(page指令、include指令、taglib指令)
其中page指令主要用于指定页面的属性,用法包括如下
language、import、errorPage、isErrorPage、buffer
include指令主要是<%@include file=url %>
注:作用是在运行时将html或jsp文件页面嵌入到另外一个jsp页面,且include只支持file属性,url应当在编译时已知。
taglib主要用于将标签库描述符文件(TLD)引入到该页面中,并设置前缀,在页面中利用前缀去使用标签库描述符文件中的标签。
三、jsp隐式对象(略)
注:response.sendRedirect(url)
四、javaBean和jsp中的标准动作
javaBean主要是get和set方法
jsp标准动作包括
<jsp:useBean id="bean的引用名" class="bean类路径" scope="Bean范围"/>
<jsp:serProperty name="bean的引用名" property="属性名" value="value" param="param" />
<jsp:getProperty name="bean的引用名" property="属性名" />
<jsp:forward="url"/>用于请求转发:地址栏不变
<jsp:include page="url" flush="true" />
或带参数
<jsp:include page="url" flush="true" >
<jsp:param name="paramName" value="paramValue"/>
</jsp:include>
五、jsp表达式语言1.EL表达式:${name}
其中EL表达式可以用于一下几种
静态文本、动态内容、读取javaBean
禁用el表达式:isELIgnored=true
.和[]来获取变量的值
2.EL隐式对象
pageContext,request,param,paramValues,
pageScope,requestScope,sessionScope,applicationScope
3.运算符
!或 not
empry
*
/或div
+
-
<或lt
>或gt
<=或le
>=或ge
==或eq
!=或ne
&&或and
|| 或or
num1?num2:result
六、自定义标签(略)
七、jsp标准标签库
1.jstl
核心标签库(通用标签、条件标签、迭代标签)
I18N与格式化标签库
SQL标签库
XML标签库
八、过滤器
1.作用
授权请求、加密解密、修改请求标题和数据、修改响应标题和数据
2.响应过程
用户<------------------>过滤器<--------------->web资源(Servlet或jsp)
3.生命周期
过滤器必须实现javax.servlet.Filter接口以导入Filter接口中的所有方法。它还使用到另外2个接口FilterConfig 、FilterChain
实例化-->初始化(使用FilterConfig对象作为init()参数)-->过滤(doFilter())-->销毁(destroy())
4.过滤器的定义和过滤器的映射
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>package.MyFilter</filter-class>
<init-param>
<param-name>myname</param-name>
<param-value>jack</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<filter-pattern>/*</filter-pattern>
</filter-mapping>
5.总结
filter使用户可以改变一个request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在response离开servlet时处理response.换种说法,filter其实是一个“servlet chaining“(servlet 链).一个filter
包括:
1. 在servlet被调用之前截获;
2. 在servlet被调用之前检查servlet request;
3. 根据需要修改request头和request数据;
4. 根据需要修改response头和response数据;
5. 在servlet被调用之后截获.
每一个filter从doFilter()方法中得到当前的request及response.在这个方法里,可以进行任何的针对request及response的操作.(包括收集数据,包装数据等).filter调用chain.doFilter()方法把控制权交给下一个filter.一个filter在doFilter()方法中结束.如果一个filter想停止request处理而获得对response的完全的控制,那它可以不调用下一个filter.
该过滤器类的一个引用将传递给 FilterChain 对象,以允许过滤器把控制权传递给链中的下一个资源。FilterConfig对象将由容器提供给过滤器,以允许访问该过滤器的初始化数据。
九、MVC设计模式
1.ModelI体系
JSP页面中可以非常容易地结合业务逻辑(jsp:useBean)、服务端处理过程(jsp:let)和HTML(),在JSP页面中同时实现显示,业务逻辑和流程控制,从而可以快速地完成应用开发。现在很多的Web应用就是由一组JSP页面构成的。这种以JSP为中心的开发模型我们可以称之为Model1。
jsp同时担负view和Controller角色
客户端<------(请求1/回应4)------->应用服务器(jsp<--2-->javaBean)<-----3----->数据库服务器
2.ModelII体系(MVC)
Model 2表示的是基于MVC模式的框架。MVC是Model-View-Controller的简写。“Model”代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),“View”是应用的表示面(由JSP页面产生),“Controller”是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。从而弥补了Model1的不足。
ModelII与ModelI不同的是将Servlet纳入了Controller角色
M是指数据模型,V是指用户界面,C则是控制器
MVC是一个架构模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
视图
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services. 如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
MVC的优点
低耦合性、高重用性和可适用性、较低的生命周期成本、快速的部署、可维护性、有利于软件工程化管理、MVC将会使你的软件在健壮性,代码重用和结构方面上一个新的台阶。
MVC的缺点
测试难度
MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。
MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。
Java开发Web Application有几种符合MVC设计模式的开发方式。 1:Jsp+Servlet+JavaBean(EJB)
2:Jsp+JavaBean(Controller)+JavaBean(EJB)(Model)
3:TDK(Turbine,Velocity...)
4:Xsp
5:Jsp+Struts+JavaBean(EJB)
常见的MVC组件
Struts: Apache的,最流行的MVC组件
Struts2 :Apache用Struts 和 WebWork的组合出来的新产品,目前上升势头强劲 WebWork: 这个可是老牌的MVC组件,后来组合成了Struts2, 不过自身仍在发展 Spring MVC:SpringFramework自己整合自己Spring的优势推出的MVC组件,用户也不少
JSF: 这个是一个规范,Sun的和 Apache的都有各自的实现。用户量很大,被众多IDE支持。
Tapestry: 最彻底的MVC开发框架,丰富的组件资源,重用性很高。
分享到:
相关推荐
"jsp课程总结" JSP(JavaServer Page)是一种基于 Java Server 以及整个 Java 体系的 Web 开发技术,能够建立动态的、高性能的、安全的、跨平台的先进动态网站。JSP 技术的核心是将 Java 代码嵌入到 HTML 页面中,...
4. **JSP动作(JSP Actions)**:如`<jsp:include>`和`<jsp:forward>`等,但示例中未使用。 5. **EL(Expression Language)**:虽然示例中未使用,但EL通常用于简化JSP页面中的数据访问。 6. **JSTL(JavaServer ...
自己总结的servlet与jsp部分 希望对大家有所帮助
### JSP知识点总结 #### 1. JSP简介 JSP(Java Server Pages)是一种基于Java的服务器端脚本技术,用于创建动态网页。它结合了HTML标记和Java代码,使得开发者可以在静态网页的基础上添加动态内容。JSP具有以下...
jsp总结代码,配置Tomcat,jsp的组成 (定义:在html中嵌入java脚本代码)
jsp基础的学习资料,适合初学者,ppt形式,可以很容易学会jsp jsp基础的学习资料,适合初学者
**JSP(Java Server Pages)** 是一种动态网页技术,由Sun Microsystems开发,现在由Oracle公司维护。它允许开发者在HTML、XML或者其他标记语言中嵌入Java代码,从而实现服务器端的动态网页生成。JSP的主要目标是...
**JSP 学习总结** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML中嵌入Java代码,以实现服务器端的程序逻辑。对于初学者来说,掌握JSP的基础知识和核心概念至关重要。 ### JSP 开发Web应用系统 ...
总结,利用JSP开发教室管理系统,我们需要结合Servlet、Java Bean、JDBC、数据库以及前端技术,实现用户交互、数据处理和业务逻辑。在实际开发过程中,还要注意安全性、性能优化以及代码规范,以构建出高效、稳定的...
jsp小结,温故而知新页面语言: 静态:html 动态:asp,php,jsp 1.jsp运行环境 动态的代码 必须有服务器来解析这些代码 2.服务器tomcat 免费服务器
**JSP知识总结1** **一、静态页面基础** 1. **HTML文档结构**:HTML文档通常由开始标记`<html>`、头部标记`<head>`、主体标记`<body>`以及结束标记`</html>`组成。 2. **排版标记**:包括标题标记如`<hn></hn>`(n...
【JSP期末概念总结】 JSP(JavaServer Pages)是一种基于Java的技术,它允许开发者在HTML页面中嵌入Java代码,以实现动态网页的创建。JSP文件在服务器上被编译成Servlet类,然后执行生成动态内容。JSP的核心在于将...
JSP(Java Server Pages)是Java技术中用于创建动态网页的一种标准,它是J2EE(Java 2 Platform, Enterprise Edition)的一部分。JSP的核心在于它能够将静态HTML内容与Java代码相结合,允许开发者在服务器端生成HTML...
使用mindmaster打开
JSP & Servlet 技术总结 JSP技术总结 2 1. JSP页面元素构成 2 2. JSP脚本元素 2 3. 注释 2 4. JSP指令 2 5. JSP动作元素 3 6. JSP内置对象 5 7. JSP内置对象及其作用 5 8. 获取页面参数 5 9. 重定向...
JSP(JavaServer Pages)是一种基于Java的动态网页技术,常用于构建Web应用程序。在本文中,我们将深入探讨一个基本的JSP登录模块的实现,包括各个关键页面的功能和交互流程。 1. **检查Cookie页面(index.jsp)**: ...
搭建JSP开发环境总结 本文档详细介绍了搭建JSP开发环境所需的软件和配置方法。JSP是基于Java的服务器端技术,需要特定的软件环境来支持其开发。本文档将从硬件需求、操作系统、软件环境三个方面介绍搭建JSP开发环境...
**ACCP5.0 JSP(2):深入理解与应用JSP开发Web应用系统** 在Web开发领域,JavaServer Pages (JSP) 是一种强大的技术,用于创建动态、交互式的网页。本教程将深入探讨JSP的核心概念,理论部分旨在帮助开发者掌握JSP...
总结,JSP分页实现是一个涉及到数据库操作、服务器端逻辑和客户端展示的综合过程。开发者需要理解如何在后台处理分页逻辑,如何将数据传递给前端,以及如何在前端展示分页效果。掌握这些知识后,无论是开发大型网站...
jsp servlet开发总结文档 jsp Servlet总结jsp Servlet总结jsp Servlet总结