【Jsp精品源码栏目提醒】:以下是网学会员为您推荐的Jsp精品源码-【精品】Jsp基础知识 - 工程建设,希望本篇文章对您学习有所帮助。
1
Jsp 基础知识总结
Jsp 我们学完也有好长一段时间间了过程中总结的一点点基础知识拿来与初学者分享直到最后做我们一个小小的项目宠物医院也是用我们最简单的工具 Jcreater4.0 来做的呵到了 Ecliplse 下才发现开发速度如此之快不过这样也打好了我们的基础....不多说了把所学到的小小总结发来至此吧愿给初学者带来便利同时愿高人给以指点不足之处..... 首先来说一下我们
jsp 的课程:第一部分为 Servlet 技术包括 Servelt 入门会话跟踪JavaMal 和 Servlet.第二部分就是
Jsp 技术包括:
jsp 简介
jsp 脚本和指令的使用
jsp隐式对象JavaBean 与
jsp 中的标准动作
jsp 表达式语言自定义标签
jsp 自定义表签库.第三部分就是过滤器的设计模式包括过滤器和 MVC 设计模式. 一.Servlet 知识及常见错误和规律.1.桌面运行程序与 WEB 应用程序在过程实质是一样的---基于请求与响应的过程.2.http 协议超文本传输协议 1.无状态:多次请求信息之间无联系. 2.用于 internet 发送请求和响应消息 3.使用端口接收和发送消息默认为 80 端口.端口:为内存缓冲区多线程接收数据windows: 0---65535 端口 0---4096 为系统端口3.什么是 Servlet Server let 服务器端小程序. 用来处理客户端发送的请求并由服务器响应给客户端的 java 编写的程序. Servlet 只在服务器运行4.Servlet 详解:import java.io.import javax.servlet.import javax.servlet.http.import java.util.public class MyServlet extends HttpServlet public void doGetHttpServletRequest requestHttpServletResponseresponse throws ServletExceptionIOException response.setContentTypequottext/htmlcharsetgb2312quot request.setCharacterEncodingquotgb2312quot response.sendRedirectquotLogin.jspquot //重定向方法 request.getParameterquotquot //读取客户端数据 / /以下方法为转发不同于重定向的是:转发时数据不丢失. ServletContext contextthis.getServletContext RequestDispatcherdispatchercontext.getRequestDispatcherquot/welcome.jspquot dispatcher.forwardrequestresponse ...//以下方法为包含用得相对较少 dispatcher.includerequestresponse public void doPostHttpServletRequest requestHttpServletResponseresponse throws ServletExceptionIOException doGetrequestresponse 2.当需要向 Servlet 传递参数的时候,SrcquotServletname quot5.执行 servlet 时,发生下载提示:1.可能性一:text/htmlcharsetGBK 中间分号写成逗号.2.可能性二:XML 中配置信息出错.3.可能性三:如定义全局变量时例:CONTENT_TYPED 在以后所用中放在双引号之中.4.可能性四:当上面的 text/htmlcharset 中写错字符的时候,也会提示下载.6 执行 servlet 时,发生 404 错误:1.多为 xml 中配置出错.2.可能在 servlet 通信方法中 url 出错.3.表单提交时:action 路径.4.比较弱智的错误就是标记写错请仔细检查.7.执行 servlet 时,发生 403 错误:1.tomcat 下站点里发生错误.8.执行 servlet 时,发生 405 错误:1.servlet 中没有 post 提交方法时.95.执行 servlet 时,发生 500 错误:1.多数为 servlet 程序代码中发生异常错误.10.执行时取出的数据为 null.就要根据实际情况对应错误提示去找. 作者:binture2007-5-16 10:27 回复此发言--------------------------------------------------------------------------------2
Jsp 基础知识总结11.执行
jsp 页时发生 500 错误提示.... 多数为
jsp 页面在转译过程中发生编译错误 甚是严重错误可以按提示回头去找...二.XML 配置lt--config 中的配置信息当中配置需要在 servlet 中的 xml 中--gtltservletgt ltinit-paramgt ltparam-namegtsesslt/param-namegt ltparam-classgtcom.servltparam-classgt lt/init-paramgt ltservlet-namegtMyservletlt/servlet-namegt ltservlet-classgtcom.Myservetllt/servlet-classgtlt/servletgtlt--此为对 Myservlet 进行映射--gtltservlet-mappinggt ltservlet-namegtMyservletlt/servlet-namegt ltservlet-classgt/urllt/servlet-classgtltservlet-mappinggtlt--context 中配置信息--gtltcontext-paramgt ltparam-namegtseslt/param-namegt ltparam-classgtcom.serlt/param-classgtlt/context-paramgt注意:配置信息只能读取并且 config 是在单个 Servlet 中能访问context 是全局访问三.会话跟踪技术总结用户授权.隐藏表单域URL 重写Cookie 使用--------------------------------------------------------------------------------------------1.会话:是同一客户端和服务器之间在同一段时间的多次请求和响应.2.Session 使用重点 HttpSession sessionrequest.getSession session.setAttributequotnamequotObject //附值 session.getAttribute //取值 session.removeAttributer3.Cookie类 1.Cookie 是什么 cookie 是一段字符串由 HTTP 支持在客户端可以永久保存.写入硬盘. 每次请求响应中都会为 cookie 留有空间. 2.用法: Cookie cookienew Cookiequotnamequotcookie //必须指定 cookie 的键与值且必须为字符串. response.addcookiecookie cookie.setMaxAge3600 //以秒为单位. //读取客户端发送过来的 cookie返回值类型为: cookie 数组 request.getCookies //循环读取键与值. 使用过程:1.生成 cookie new cookiequotquotquotquot 2.设置生存周期 gt0SetMaxAge秒. 3.发送到客户端:response.addCookiecookie小常识:1.一个网站最多向一个客户端写 20 个 cookie. 2.一个客户端最多接收 300 个 cookie.4.Session 与 Cookie 这间的关系:session 的 ID 作为 Cookie 的值在客户端与服务器之间进行传递.--------------------------------------------------------------------------------------------四.构建实体 Bean 的原则:/ 1.bean 类为公有 2.类成员为私有 3.必有一个无参构造 4.有 set和 get方法 5.方法命名为 setXxx或 getXxx方法/五.MVC 实现数据封装此数据封装标准按 MVC 总结.所需内容: 1.Servlet 2.JavaBean 3.OperBeanDBconnection 4.
Jsp 由 Servlet 提取前台数据然后将数据封装于 JavaBean 中再实例化 OperBean调用OperBean 中方法将 JavaBean 对象以参数的形式传过去并进行一系列的操作后返回数据存入 ArrayList 中或者其它集合内并将集合对象封装 Session 对象中便于在前台取值.Servlet 控制: ........ Arraylist lisnew ArrayList String namerequest.getParameterquotusernamequot JavaBean beannew JavaBean bean.setNamename OperBean opernew OperBean lisoper.operMethodbean HttpSession sessionrequest.getSession session.setAttributequotlistquotlisOperBean 逻辑: ... public ArrayList OperMethodJavaBean bean ArrayList lisnew ArrayList String usrbean.getNamequotnamequot String sqlquotselect from student where namequotusrquotquot DBconnection dbnew DBconnection ...//操作数据业务 return lis 前台业务: ... ArrayList listArrayListsession.getAttributequotlisquot Iterator itelist.iterator whileite.harNext //遍历输出 JavaBean beanJavaBeanite.next . //取 bean 中值 //由此可以进行quot用户登陆quotquot数据的增删改查quotquot注销登陆quot等操作..... 以上所有
jsp 技术都是没有与 struts 等框架相关的只是简单的 MVC 思想只有懂得以上简单的思想才可以进一步的对框架这些高层次的东西钻研我感觉是如此毕竟我也是个初学者还有好多知识不懂也在不停的学习之中如果有哪个朋友有好的见意或者好的学习方法请多多指教 基础知识概述:
JSP(IAVA SERVER PAGES)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而别特的功能,他主要用于创建可支持跨平台及跨 Web 服务器的动态网页。
JSP 可与微软的 Active Server Pages ASP相媲美,但
JSP 使用的是类似于 HTML 的标记和 Java 代码片段而不是用 VBScript。
当你使用不提供ASP 本地支持的 Web 服务器(例如 Apache 或 Netscape 服务器)时,你就可以考虑使用
JSP了。
JavaServer Pages 技术可以让 web 开发人员和设计人员非常容易的创建和维护动态网页,特别是目前的商业系统。
作为 JavaTM 技术的一部分,
JSP 能够快速开发出基于 web、独立于平台的应用程序。
JSP 把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。
那么什么是 JavaServer Page 呢简单的说,一个
JSP 网页就是在 HTML 网页中包含了能够生成动态内容的可执行应用程序代码。
此应用程序可能包含 JavaBeanTM,JDBCTM 对象,Enterprise Java BeanTM EJB和 Remote Method Invocation RMI对象,所有的部分都可以非常容易的从
JSP 网页上访问到。
例如,一个
JSP 网页可以包含 HTML 代码所显示的静态文本和图像,也可以调用一个 JDBC 对象来访问数据库;当网页显示到用户界面上以后,它将包含静态 HTML 内容和从数据库中找到相应的动态信息。
在
JSP 网页中,要把用户界面和应用程序分开可以考虑在网页设计人员和开发人员之间执行一个非常方便的授权任务。
它也允许开发人员去建立灵活的代码,从而非常容易的进行更新和重复利用。
由于
JSP 网页能够根据需要自动进行编译,web 设计人员无须重新编译应用程序逻辑就可以改变表述代码。
这也使得
JSP 与 Java servlet(它是 JavaSever Pages 功能的扩展)相比成为一种可以更灵活生成动态 web 内容的方法。
在 Sun 正式发布 JSPJavaServer Pages 之后, 这种新的 Web 应用开发技术很快引起了人们的关注。
JSP 为创建高度动态的 Web 应用提供了一个独特的开发环境。
按照 Sun 的说法,
JSP 能够适应市场上包括 Apache WebServer 、 IIS4.0 在内的 85 的服务器产品。
即使您对 ASP 或 PHP、CGI “一往情深”,我们认为,关注
JSP 的发展仍旧很有必要,这是基于以下的比较分析。
JSP 与 Microsoft 的 ASP、PHP 技术非常相似。
ASP 的编程语言是 VBScript 之类的脚本语言,
JSP 使用的是 Java ,这是他们最明显的区别。
此外, ASP、PHP 与
JSP 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。
在 ASP 下,VBScript 代码被 ASP 引擎解释执行;在
JSP 下,代码被编译成 Servlet 并由 Java 虚拟机执行,这种编译操作仅在对
JSP 页面的第一次请求时发生。
事实证明, Java Servlet 是一种开发 Web 应用的理想构架。
JSP 以 Servlet 技术为基础,又在许多方面作了改进。
利用跨平台运行的 JavaBean 组件,
JSP 为分离处理逻辑与显示样式提供了卓越的解决方案。
JSP 必将成为其它动态网页技术的有力竞争者。
JSP 技术特点1.将内容的生成和显示进行分离使用
JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面。
使用
JSP 标识或者小脚本来生成页面上的动态内容。
生成内容的逻辑被封装在标识和 JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。
如果核心逻辑被封装在标识和Beans 中,那么其他人,如 Web 管理人员和页面设计者,能够编辑和使用
JSP 页面,而不影响内容的生成。
JSP在服务器端, 引擎解释
JSP 标识和小脚本, 生成所请求的内容 (例如,通过访问 JavaBeans组件,使用 JDBCTM 技术访问数据库,或者包含文件) ,并且将结果以 HTML(或者 XML)页面的形式发送回浏览器。
这有助于作者保护自己的代码, 而又保证任何基于 HTML 的 Web 浏览器的完全可用性。
2.强调可重用的组件绝大多数
JSP 页面依赖于可重用的,跨平台的组件(JavaBeans 或者 Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执 行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
3.采用标识简化页面开发Web 页面开发人员不会都是熟悉脚本语言的编程人员。
JavaServer Page 技术封装了许多功能,这些功能是在易用的、与
JSP 相关的 XML 标识中进行动态内容生成所需要的。
标准的
JSP 标识能够访问和实例化 JavaBeans 组件,设置或者检索组件属性,下载 Applet,以及执行用其他方法更难于编码和耗时的功能。
通过开发定制化标识库,
JSP 技术是可以扩展的。
今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。
这使得 Web 页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。
作为采用 Java 技术家族的一部分,以及 Java 2(企业版体系结构)的一个组成部分,
JSP 技术能够支持高度复杂的基于 Web 的应用。
由于
JSP 页面的内置脚本语言是基于 Java 编程语言的,而且所有的
JSP 页面都被编译成为Java Servlet,
JSP 页面就具有 Java 技术的所有好处,包括健壮的存储管理和安全性。
作为 Java 平台的一部分,
JSP 拥有 Java 编程语言“一次编写,各处运行”的特点。
随着越来越多的供应商将
JSP 支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。
与其它动态网页技术的比较:与传统的 CGI 方式相比a. 后台实现逻辑是基于 Java Component 的,具有跨平台的特点b. 将应用逻辑与页面表现分离,使得应用逻辑能够最大程度得到复用,从而提高开发效率c. 运行比 CGI 方式高,尤其对于数据库访问时,提供了连接池缓冲机制,使运行所需资源最小d. 安全,由于后台是完全基于 Java 技术的,安全性由 Java 的安全机制予以保障e. 由于与 ASP 很近似,不需要太多的编程知识就可以动手编写 JSPf. 内置支持 XML,使用 XML 从而使页面具有更强的表现力和减少编程工作量与 Asp 和 php 的比较:目前,最常用的三种动 态 网 页 语 言 有 ASPActive Server PagesJSPJava Server PgesPHP HypertextPreprocessor。
ASP 全名 Active Server Pages,是一个 WEB 服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的 WEB 服务应用程序。
ASP 采用脚本语言 VB Script(Java script)作为自己的开发语言。
PHP 是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用 CJava 和 Perl 语言的语法并耦合 PHP 自己的特性使 WEB 开发者能够快速地写出动态生成页面.它支持目前绝多数数据库。
还有一点,PHP 是完全免费的,不用花钱,你可以从 PHP 官方站点http://www.php.net自由下载。
而且你可以不受限制地获得
源码,甚至可以从中加进你自己需要的特色。
JSP 是 Sun 公司推出的新一代站点开发语言,他完全解决了目前 ASPPHP 的一个通病--脚本级执行(据说 PHP4 也已经在 Zend 的支持下,实现编译运行).Sun 公司借助自己在 Java上的不凡造诣,将 Java 从 Java 应用程序 和 Java Applet 之外,又有新的硕果,就是
Jsp--Java Server Page。
Jsp 可以在 Serverlet 和 JavaBean 的支持下,完成功能强大的站点程序。
三者都提供在 HTML 代码中混合某种程序代码、 但 由语言引擎解释执行程序代码的能力。
JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对
JSP 页面的第一次请求时发生。
在 ASP 、PHP、
JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。
而 普通的 HTML 页面只依赖于 Web 服务器, ASP 、 PHP、
JSP页面需要附加的语言引擎分析和执行程序代码。
程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。
ASP 、PHP、
JSP 三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。
JSP vs ASPJSP 跨平台,而且支持 Apache Netscape IIS,IBM Http Server 在内的所有主流 Web Server(市场份额在 85以上),而 ASP 目前只支持 NTIIS市场份额在 20左右;提供了更好的安全机制, Web 这对于 e-business 这样的应用来说是至关重要的;
JSP 可以跨操作系统、 Server和应用服务器,而 ASP 只限于 NTIIS;
JSP 是一个开放的标准,得到了 Oracle Netscape IBM amp WebLogic Inprise 等的支持;
JSP 的组件编写更为容易,而且
JSP 的性能由于 ASP;
JSP vs PHPJSP 是一个业界标准,得到 SunIBMOracleBEAApache 等 的支持,PHP 只是一个开发组织并不强的 free ware ;PHP 的性能不好,是解释型的,
JSP 采用 JIT 编译后,和 c 不相上下, 从而且支持多线程;
JSP 支持的平台众多, Win98NT, UnixLinuxFreeBSD 到 AS/400OS/390,而 PHP 支持的平台有限;
JSP 可以利用 JDBC 和众多主流关系数据库连接,而 PHP 目前只支持 MySql 和 Oracle 等有限的几种;
JSP 中的组件JavaBean 和 EJB 开发非常容易,而且还可 而以在
JSP 中使用 Java 所有的类和功能。
PHP 只能用 C 写一些功能有限的组件, 而且编写较 以支为复杂; 利用
JSP 可以支持 EJB, 持 Transaction 和 CORBA 标准, 而且还可以支持 LDAP,Message 等服务,使得访问 ERPCICSMQ 等企业应用非常容易。
而 PHP 在这方面先天不足,所以对于电子商务这样的 Mission-critical 的应用来说,PHP 并不适合。
性能比较有人做过试验,对这三种语言分别做循环性能测试及存取 Oracle 数据库测试。
在循环性能测试中,
JSP 只用了令人吃惊的四秒钟就结束了 20000*20000 的循环。
而 ASP、PHP 测试的是2000*2000 循环(少一个数量级),却分别用了 63 秒和 84 秒。
数据库测试中,三者分别对 Oracle 8 进行 1000 次 InsertUpdateSelect和 Delete:
Jsp需要 13 秒,Php 需要 69 秒,ASP 则 需要 73 秒。
前景分析目前在国内 PHP 与 ASP 应用最为广泛。
而
JSP 由于是一种较新的技术,国内采用的较少。
但在国外,
JSP 已经是比较流行的一种技术,尤其是电子商务类的网站,多采用
JSP。
采用 PHP 的网站如新浪网(sina)、中国人(Chinaren)等但由于 PHP 本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。
首先,PHP 缺乏规模支持。
其次,缺乏多层结构支持。
对于大负荷站点,解决方法只有一个:分布计算。
数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列。
而 PHP 则缺乏这种支持。
还有上面提到过的一点,PHP 提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。
ASP 和
JSP 则没有以上缺陷,ASP 可以通过 Microsoft Windowsd 的 COM/DCOM 获得 ActiveX规模支持,通过 DCOM 和 Transcation Server 获得结构支持;
JSP 可以通过 SUN Java 的 JavaClass 和 EJB 获得规模支持,通过 EJB/CORBA 以及众多厂商的 Application Server 获得结构支持。
三者中,
JSP 应该是未来发展的趋势。
世界上一些大的电子商务解决方案提供商都采用
JSP/Servlet。
比较出名的如 IBM 的 E-business,它的核心是采用
JSP/Servlet 的 WebSphere;西方另外一个非常著名的电子商务软件提供商,Intershop。
它原来的产品 Intershop1 2 34 占据了主要的电.