仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 587|回复: 14
打印 上一主题 下一主题

[学习教程] JAVA编程:jsp基本进修材料

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:28:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)js1、JSP手艺概述
  在Sun正式公布JSP(JavaServerPages)以后,这类新的Web使用开辟手艺很快引发了人们的存眷。JSP为创立高度静态的Web使用供应了一个共同的开辟情况。依照Sun的说法,JSP可以顺应市场上包含ApacheWebServer、IIS4.0在内的85%的服务器产物。即便您对ASP“一往情深”,我们以为,存眷JSP的开展仍然很有需要。

  ㈠JSP与ASP的复杂对照

  JSP与Microsoft的ASP手艺十分类似。二者都供应在HTML代码中夹杂某种程序代码、由言语引擎注释实行程序代码的才能。在ASP或JSP情况下,HTML代码次要卖力形貌信息的显现款式,而程序代码则用来形貌处置逻辑。一般的HTML页面只依附于Web服务器,而ASP和JSP页面必要附加的言语引擎剖析和实行程序代码。程序代码的实行了局被从头嵌进到HTML代码中,然后一同发送给扫瞄器。ASP和JSP都是面向Web服务器的手艺,客户端扫瞄器不必要任何附加的软件撑持。

  ASP的编程言语是VBScript之类的剧本言语,JSP利用的是Java,这是二者最分明的区分。别的,ASP与JSP另有一个更加实质的区分:两种言语引擎用完整分歧的体例处置页面中嵌进的程序代码。在ASP下,VBScript代码被ASP引擎注释实行;在JSP下,代码被编译成Servlet并由Java假造机实行,这类编译操纵仅在对JSP页面的第一次哀求时产生。

  ㈡运转情况

  Sun公司的JSP主页在http://www.javasoft.com/products/jsp/index.html,从这里还能够下载JSP标准,这些标准界说了供给商在创立JSP引擎时所必需服从的一些划定规矩。

  实行JSP代码必要在服务器上安装JSP引擎。此处我们利用的是Sun的JavaServerWebDevelopmentKit(JSWDK)。为便于进修,这个软件包供应了大批可供修正的示例。安装JSWDK以后,只需实行startserver命令便可启动服务器。在默许设置下服务器在端口8080监听,利用http://localhost:8080便可翻开缺省页面。

  在运转JSP示例页面之前,请注重一下安装JSWDK的目次,出格是“work”子目次下的内容。实行示例页面时,能够在这里看到JSP页面怎样被转换成Java源文件,然后又被编译成class文件(即Servlet)。JSWDK软件包中的示例页面分为两类,它们大概是JSP文件,大概是包括一个表单的HTML文件,这些表单均由JSP代码处置。与ASP一样,JSP中的Java代码均在服务器端实行。因而,在扫瞄器中利用“检察源文件”菜单是没法看到JSP源代码的,只能看到了局HTML代码。一切示例的源代码均经由过程一个独自的“examples”页面供应。

  ㈢JSP页面示例

  上面我们剖析一个复杂的JSP页面。您能够在JSWDK的examples目次下创立别的一个目次寄存此文件,文件名字能够恣意,但扩大名必需为.jsp。从上面的代码清单中能够看到,JSP页面除比一般HTML页面多一些Java代码外,二者具有基础不异的布局。Java代码是经由过程<%和%>标记到场到HTML代码两头的,它的次要功效是天生并显现一个从0到9的字符串。在这个字符串的后面和前面都是一些经由过程HTML代码输入的文本。

 <HTML>
 <HEAD><TITLE>JSP页面</TITLE></HEAD>
 <BODY>
 <%@pagelanguage="java"%>
 <%!Stringstr="0";%>
 <%for(inti=1;i<10;i++){
 str=str+i;
 }%>
 JSP输入之前。
 <P>
 <%=str%>
 <P>
 JSP输入以后。
 </BODY>
 </HTML>

  这个JSP页面能够分红几个部分来剖析。

起首是JSP指令。它形貌的是页面的基础信息,如所利用的言语、是不是保持会话形态、是不是利用缓冲等。JSP指令由<%@入手下手,%>停止。在本例中,指令“<%@pagelanguage="java"%>”只复杂地界说了本例利用的是Java言语(以后,在JSP标准中Java是独一被撑持的言语)。
接上去的是JSP声明。JSP声明能够当作是界说类这一条理的变量和办法的中央。JSP声明由<%!入手下手,%>停止。如本例中的“<%!Stringstr="0";%>”界说了一个字符串变量。在每项声明的前面都必需有一个分号,就象在一般Java类中声明成员变量一样。
位于<%和%>之间的代码块是形貌JSP页面处置逻辑的Java代码,如本例中的for轮回所示。
最初,位于<%=和%>之间的代码称为JSP表达式,如本例中的“<%=str%>”所示。JSP表达式供应了一种将JSP天生的数值嵌进HTML页面的复杂办法。


2、会话形态办理
作者:神仙掌事情室

  会话形态保持是Web使用开辟者必需面临的成绩。有多种办法能够用来办理这个成绩,如利用Cookies、埋没的表单输出域,或间接将形态信息附加到URL中。JavaServlet供应了一个在多个哀求之间延续无效的会话对象,该对象同意用户存储和提取会话形态信息。JSP也一样撑持Servlet中的这个观点。

  在Sun的JSP指南中能够看到很多有关隐含对象的申明(隐含的寄义是,这些对象能够间接援用,不必要显式地声明,也不必要专门的代码创立实在例)。比方request对象,它是HttpServletRequest的一个子类。该对象包括了一切有关以后扫瞄器哀求的信息,包含Cookies,HTML表单变量等等。session对象也是如许一个隐含对象。这个对象在第一个JSP页面被装载时主动创立,并被联系关系到request对象上。与ASP中的会话对象类似,JSP中的session对象关于那些但愿经由过程多个页面完成一个事件的使用长短常有效的。

  为申明session对象的详细使用,接上去我们用三个页面摹拟一个多页面的Web使用。第一个页面(q1.html)仅包括一个请求输出用户名字的HTML表单,代码以下:

 <HTML>
 <BODY>
 <FORMMETHOD=POSTACTION="q2.jsp">
 请输出您的姓名:
 <INPUTTYPE=TEXTNAME="thename">
 <INPUTTYPE=SUBMITVALUE="SUBMIT">
 </FORM>
 </BODY>
 </HTML>

  第二个页面是一个JSP页面(q2.jsp),它经由过程request对象提取q1.html表单中的thename值,将它存储为name变量,然后将这个name值保留到session对象中。session对象是一个名字/值对的汇合,在这里,名字/值对中的名字为“thename”,值即为name变量的值。因为session对象在会话时代是一向无效的,因而这里保留的变量对后继的页面也无效。q2.jsp的别的一个义务是扣问第二个成绩。上面是它的代码:

 <HTML>
 <BODY>
 <%@pagelanguage="java"%>
 <%!Stringname="";%>
 <%
 name=request.getParameter("thename");
 session.putValue("thename",name);
 %>
 您的姓名是:<%=name%>
 <p>
 <FORMMETHOD=POSTACTION="q3.jsp">
 您喜好吃甚么?
 <INPUTTYPE=TEXTNAME="food">
 <P>
 <INPUTTYPE=SUBMITVALUE="SUBMIT">
 </FORM>
 </BODY>
 </HTML>

  第三个页面也是一个JSP页面(q3.jsp),次要义务是显现问答了局。它从session对象提取thename的值并显现它,以此证实固然该值在第一个页面输出,但经由过程session对象得以保存。q3.jsp的别的一个义务是提取在第二个页面中的用户输出并显现它:

 <HTML>
 <BODY>
 <%@pagelanguage="java"%>
 <%!Stringfood="";%>
 <%
 food=request.getParameter("food");
 Stringname=(String)session.getValue("thename");
 %>
 您的姓名是:<%=name%>
 <P>
 您喜好吃:<%=food%>
 </BODY>
 </HTML>


3、援用JavaBean组件
作者:神仙掌事情室编译

  JavaBean是一种基于Java的软件组件。JSP关于在Web使用中集成JavaBean组件供应了完美的撑持。这类撑持不但能延长开辟工夫(能够间接使用经测试和可托任的已有组件,制止了反复开辟),也为JSP使用带来了更多的可伸缩性。JavaBean组件能够用来实行庞大的盘算义务,或卖力与数据库的交互和数据提取等。假如我们有三个JavaBean,它们分离具有显现旧事、股票代价、天色情形的功效,则创立包括一切这三种功效的Web页面只必要实例化这三个Bean,利用HTML表格将它们顺次定位就能够了。

  为申明在JSP情况下JavaBean的使用,我们创立了一个名为TaxRate的Bean。它有两个属性,即Product(产物)和Rate(税率)。两个set办法分离用来设置这两个属性,两个get办法则用于提取这两个属性。在实践使用中,这类Bean一样平常应该从数据库提取税率值,此处我们简化了这个历程,同意恣意设定税率。上面是这个Bean的代码清单:

 packagetax;
 publicclassTaxRate{
 StringProduct;
 doubleRate;
 publicTaxRate(){
 this.Product="A001";
 this.Rate=5;
 }
 publicvoidsetProduct(StringProductName){
 this.Product=ProductName;
 }
 publicStringgetProduct(){
 return(this.Product);
 }
 publicvoidsetRate(doublerateValue){
 this.Rate=rateValue;
 }
 publicdoublegetRate(){
 return(this.Rate);
 }
 }

  在JSP页面中使用上述Bean要用到<jsp:useBean>标志。依附于详细利用的JSP引擎的分歧,在那边设置和怎样设置Bean的办法也大概略有分歧。本文将这个Bean的.class文件放在c:jswdk-1.0examplesWEB-INFjspeans        ax目次下,这里的tax是一个专门寄存该Bean的目次。上面是一个使用上述Bean的示例页面:

 <HTML>
 <BODY>
 <%@pagelanguage="java"%>
 <jsp:useBeanid="taxbean"scope="application"class="tax.TaxRate"/>
 <%taxbean.setProduct("A002");
 taxbean.setRate(17);
 %>
 利用办法1:<p>
 产物:<%=taxbean.getProduct()%><br>
 税率:<%=taxbean.getRate()%>
 <p>
 <%taxbean.setProduct("A003");
 taxbean.setRate(3);
 %>
 <b>利用办法2:</b><p>
 产物:<jsp:getPropertyname="taxbean"property="Product"/>
 <br>
 税率:<jsp:getPropertyname="taxbean"property="Rate"/>
 </BODY>
 </HTML>

  在<jsp:useBean>标志内界说了几个属性,个中id是全部JSP页面内该Bean的标识,scope属性界说了该Bean的保存工夫,class属性申明了该Bean的类文件(从包名入手下手)。

  这个JSP页面不但利用了Bean的set和get办法设置和提取属性值,还用到了提取Bean属性值的第二种办法,即便用<jsp:getProperty>标志。<jsp:getProperty>中的name属性即为<jsp:useBean>中界说的Bean的id,它的property属性指定的是方针属性的名字。


  现实证实,JavaServlet是一种开辟Web使用的幻想构架。JSP以Servlet手艺为基本,又在很多方面作了改善。JSP页面看起来象一般HTML页面,但它同意嵌进实行代码,在这一点上,它和ASP手艺十分类似。使用跨平台运转的JavaBean组件,JSP为分别处置逻辑与显现款式供应了出色的办理计划。JSP势必成为ASP手艺的无力合作者。

你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。
变相怪杰 该用户已被删除
沙发
发表于 2015-1-21 07:45:59 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-24 14:37:03 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
海妖 该用户已被删除
地板
发表于 2015-2-1 16:54:37 | 只看该作者
是一种突破用户端机器环境和CPU
若天明 该用户已被删除
5#
发表于 2015-2-7 02:11:42 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
飘灵儿 该用户已被删除
6#
发表于 2015-2-7 02:36:32 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
分手快乐 该用户已被删除
7#
发表于 2015-2-11 12:40:55 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
兰色精灵 该用户已被删除
8#
发表于 2015-2-20 01:44:18 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
山那边是海 该用户已被删除
9#
发表于 2015-2-21 19:17:40 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
再见西城 该用户已被删除
10#
发表于 2015-2-25 19:27:00 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
柔情似水 该用户已被删除
11#
发表于 2015-2-26 21:23:38 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
深爱那片海 该用户已被删除
12#
发表于 2015-3-1 19:15:45 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
精灵巫婆 该用户已被删除
13#
发表于 2015-3-4 11:52:00 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
老尸 该用户已被删除
14#
发表于 2015-3-11 19:21:52 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
莫相离 该用户已被删除
15#
 楼主| 发表于 2015-3-27 15:12:05 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-30 14:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表