`
阅读更多
一、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课程总结" JSP(JavaServer Page)是一种基于 Java Server 以及整个 Java 体系的 Web 开发技术,能够建立动态的、高性能的、安全的、跨平台的先进动态网站。JSP 技术的核心是将 Java 代码嵌入到 HTML 页面中,...

    登录注册的jsp总结

    4. **JSP动作(JSP Actions)**:如`&lt;jsp:include&gt;`和`&lt;jsp:forward&gt;`等,但示例中未使用。 5. **EL(Expression Language)**:虽然示例中未使用,但EL通常用于简化JSP页面中的数据访问。 6. **JSTL(JavaServer ...

    servlet与jsp总结

    自己总结的servlet与jsp部分 希望对大家有所帮助

    jsp总结关于jsp

    ### JSP知识点总结 #### 1. JSP简介 JSP(Java Server Pages)是一种基于Java的服务器端脚本技术,用于创建动态网页。它结合了HTML标记和Java代码,使得开发者可以在静态网页的基础上添加动态内容。JSP具有以下...

    jsp总结代码

    jsp总结代码,配置Tomcat,jsp的组成 (定义:在html中嵌入java脚本代码)

    jsp内置对象ppt总结

    jsp基础的学习资料,适合初学者,ppt形式,可以很容易学会jsp jsp基础的学习资料,适合初学者

    JSP总结

    **JSP(Java Server Pages)** 是一种动态网页技术,由Sun Microsystems开发,现在由Oracle公司维护。它允许开发者在HTML、XML或者其他标记语言中嵌入Java代码,从而实现服务器端的动态网页生成。JSP的主要目标是...

    jsp学习总结适合学生看的

    **JSP 学习总结** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML中嵌入Java代码,以实现服务器端的程序逻辑。对于初学者来说,掌握JSP的基础知识和核心概念至关重要。 ### JSP 开发Web应用系统 ...

    jsp实现教室管理系统

    总结,利用JSP开发教室管理系统,我们需要结合Servlet、Java Bean、JDBC、数据库以及前端技术,实现用户交互、数据处理和业务逻辑。在实际开发过程中,还要注意安全性、性能优化以及代码规范,以构建出高效、稳定的...

    很全面的jsp总结大全

    jsp小结,温故而知新页面语言: 静态:html 动态:asp,php,jsp 1.jsp运行环境 动态的代码 必须有服务器来解析这些代码 2.服务器tomcat 免费服务器

    jsp 知识总结1

    **JSP知识总结1** **一、静态页面基础** 1. **HTML文档结构**:HTML文档通常由开始标记`&lt;html&gt;`、头部标记`&lt;head&gt;`、主体标记`&lt;body&gt;`以及结束标记`&lt;/html&gt;`组成。 2. **排版标记**:包括标题标记如`&lt;hn&gt;&lt;/hn&gt;`(n...

    jsp期末概念总结

    【JSP期末概念总结】 JSP(JavaServer Pages)是一种基于Java的技术,它允许开发者在HTML页面中嵌入Java代码,以实现动态网页的创建。JSP文件在服务器上被编译成Servlet类,然后执行生成动态内容。JSP的核心在于将...

    JSP学习 入门总结 语法总结 用法总结

    JSP(Java Server Pages)是Java技术中用于创建动态网页的一种标准,它是J2EE(Java 2 Platform, Enterprise Edition)的一部分。JSP的核心在于它能够将静态HTML内容与Java代码相结合,允许开发者在服务器端生成HTML...

    JSP开发模式,jstl标签库(用于在jsp中写逻辑功能页面)el,jstl,jsp总结.emmx

    使用mindmaster打开

    JSP与Servlet 技术总结

    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基本登录模块详细介绍

    JSP(JavaServer Pages)是一种基于Java的动态网页技术,常用于构建Web应用程序。在本文中,我们将深入探讨一个基本的JSP登录模块的实现,包括各个关键页面的功能和交互流程。 1. **检查Cookie页面(index.jsp)**: ...

    搭建JSP开发环境总结

    搭建JSP开发环境总结 本文档详细介绍了搭建JSP开发环境所需的软件和配置方法。JSP是基于Java的服务器端技术,需要特定的软件环境来支持其开发。本文档将从硬件需求、操作系统、软件环境三个方面介绍搭建JSP开发环境...

    ACCP5.0 JSP(2)

    **ACCP5.0 JSP(2):深入理解与应用JSP开发Web应用系统** 在Web开发领域,JavaServer Pages (JSP) 是一种强大的技术,用于创建动态、交互式的网页。本教程将深入探讨JSP的核心概念,理论部分旨在帮助开发者掌握JSP...

    jsp 分页实现总结大全

    总结,JSP分页实现是一个涉及到数据库操作、服务器端逻辑和客户端展示的综合过程。开发者需要理解如何在后台处理分页逻辑,如何将数据传递给前端,以及如何在前端展示分页效果。掌握这些知识后,无论是开发大型网站...

    jsp Servlet总结

    jsp servlet开发总结文档 jsp Servlet总结jsp Servlet总结jsp Servlet总结

Global site tag (gtag.js) - Google Analytics