海妖 发表于 2015-1-18 11:23:55

JAVA网页编程之Jsp 好的进门文章共赏

C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,js1、甚么是JSPJSP(JavaServerPages)是由SunMicrosystems公司倡议、很多公司介入一同创建的一种静态网页手艺尺度,其网址为http://www.javasoft.com/products/jsp。在传统的网页HTML文件(*.htm,*.html)中到场Java程序片断(Scriptlet)和JSP标志(tag),就组成了JSP网页(*.jsp)。Web服务器在碰到会见JSP网页的哀求时,起首实行个中的程序片断,然后将实行了局以HTML格局前往给客户。程序片断能够操纵数据库、从头定向网页和发送email等等,这就是创建静态网站所必要的功效。一切程序操纵都在服务器端实行,收集上传送给客户真个仅是失掉的了局,对客户扫瞄器的请求最低,能够完成无Plugin,无ActiveX,无JavaApplet,乃至无Frame。本文将先容使用JSP手艺开辟静态网页的办法,还将扼要剖析JSP手艺和Microsoft公司的ASP手艺的分歧的地方。
2、怎样安装和启动为了实行JSP手艺,起首必要创建运转情况,这个历程相称复杂:
1、在http://java.sun.com/jdk/处下载JDK(Java2SDK、StandardEdition、v1.2.2)。
2、在http://java.sun.com/products/jsp/处下载JSWDK(JavaServerWebDevelopmentKit1.0.1)。Linux用户能够在ttp://jakarta.apache.org/处下载Tomcat3.0。
3、安装以WindowsNT情况为例,JDK的安装是起首运转下载失掉的jdk1_2_2-win.exe,然后修正体系情况参数,在PATH参数中到场jdk1.2.2in和增添新的情况参数CLASSPATH=jdk1.2.2lib        ools.jar,个中是安装JDK的硬盘符(c:、d:等)。JSWDK的安装仅需将jswdk1_0_1-win.zip带目次开释到硬盘根目次下(c:、d:等),然后就能够在硬盘上找到jswdk-1.0.1目次。未来假如不想保存JSWDK,删除这个目次就能够了,没有任何体系文件和注册表遗留成绩。更具体的安装历程和Solaris/Unix和Linux下JDK、Tomcat的安装能够参考下载失掉的文件包中的安装申明。
4、启动以WindowsNT情况为例,在jswdk-1.0.1目次下实行startserver.bat,便可启动JSWDK中一个撑持JSP网页手艺的Web服务器。为了不与现有的Web服务器(比方IIS、PWS等)抵触,JSWDK的Web服务器利用了8080端口。在扫瞄器的地点栏中键进http://localhost:8080大概http://127.0.0.1:8080后,假如能看到JSWDK的接待页就申明JSP实行情况已建成,可进进下一步实行。要封闭Web服务器则运转stopserver.bat。
3、JSP复杂示例JSWDK中包括的Web服务器的文档目次在缺省形态下为jswdk-1.0.1webpages,主文档在缺省形态下为index.html和index.jsp。也就是说会见http://localhost:8080即是会见jswdk-1.0.1webpagesindex.html。用文本编纂器,如Windows中的记事本(Notepad),创立一个文本文件hi.jsp,保留在jswdk-1.0.1webpages目次下,其内容以下:
<html>
<head>
<title>Hi-JSP实行</title>
</head>
<body>
<%
StringMsg="ThisJSPtest.";
out.print("HelloWorld!");
%>
<h2><%=Msg%></h2>
</body>
</html>

在扫瞄器的地点栏中键进http://localhost:8080/hi.jsp,JSWDK中的Web服务器会实行JSP文件顶用<%和%>括起来的Java程序语句,个中out.print是将笔墨输入到网页,语句<%=变量|表达式%>的感化是将JavaScriptlet中变量或表达式的值输入到网页,实行了局如。将变量Msg赋值为中笔墨符串,用<%=%>输入,大概用out.print输入中笔墨符串,则在英文版NT4及Redhat6.1下实行运转了局一般,而在中文NT4.0和中文98下,则反而会呈现乱码。
4、一致的网站界面JSP撑持服务器真个文件包括,便可以在一个JSP文件中拔出多个其他文件,用来完成一致的网站界面。修正上述hi.jsp并另存为mypage.jsp:
<%@includefile="top.htm"%>
<%
StringMsg="ThisJSPtest.";
out.print("HelloWorld!");
%>
<h2><%=Msg%></h2>
<%@includefile="bot.htm"%>

用可视化HTML编纂器,比方FrontPage、Dreamweave等计划网站的框架布局,将计划好的框架布局文件支解成两个部分,下面一半保留为top.htm,上面一半保留为bot.htm,代码以下面所示:
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title>我的主页</title>
</head>
<body>
<tableborder="0"width="100%"cellpadding="4"cellspacing="0"align="center">
<tr>
<tdwidth="100%"colspan="2"bgcolor="#837ED1"align="center"><fontface="隶书"
color="#FFFF00"size=5>主页题目</font>
</td>
</tr>
<tr>
<tdbgcolor="#837ED1"width="15%"valign="top"align="center"><br>
<fontcolor="#FFFFFF">选项</font><p><fontcolor="#FFFFFF">选项</font></p>
<p><fontcolor="#FFFFFF">选项</font></p>
<p><fontcolor="#FFFFFF">......</font></p>
<p> </p>
</td>
<tdwidth="85%"valign="top">
----------------------------------------------------------------------------------------------------------------
</td>
</tr>
</table>
</body>
</html>

在扫瞄器的地点栏中键进http://localhost:8080/mypage.jsp,失掉了局如。如许网站的界面就可以一致起来,而计划者能够会合精神在功效模块上处置用户登录、毗连数据库、发送email等等。每一个JSP文件都有以下布局:


<%@includefile="top.htm"%>
<%
//完成某些功效
%>
<%@includefile="bot.htm"%>

保护网站的界面也绝对对照简单,只需修正top.htm和bot.htm,就可以影响到一切网页。

5、服务器参数设置
JSWDK的Web服务器参数保留在jswdk-1.0.1webserver.xml中,用Windows写字板翻开并编纂这个文件就能够修正缺省设置值。本节内容次要针对JSWDK,Linux下Tomcat的设置办法略有分歧。
JSWDK缺省的文档目次是jswdk-1.0.1webpages,在此目次下能够创建子目次,比方jswdk-1.0.1webpages        est,就可以在扫瞄器顶用http://localhost/test会见这个目次,为了使得这个子目次能实行JSP程序,还必需在webserver.xml中的<Service></Service>节到场:
<WebApplicationid="test"mapping="/test"docBase="webpages/test"/>
而且,还必需创建jswdk-1.0.1webpages        estWEB-INF目次,并从jswdk-1.0.1webpagesWEB-INF目次中复制过去以下四个文件:mappings.properties、mime.properties、servlets.properties和webapp.properties。完成这些历程,才干关照JSWDK的Web服务器实行http://localhost/test中的JSP程序。

6、JavaBean
JSP网页吸惹人的中央之一就是能分离JavaBean手艺来扩大网页中程序的功效。
JavaBean是一种Java类(class),经由过程封装属性和办法成为具有某种功效大概处置某个营业的对象。JavaBean被构造成为package(数据包)以便举行办理,实践上就是把一组JavaBean一同放在某某目次中,每一个类的界说前加上package某某,本例中为test。目次test必需放在体系情况CLASSPATH包括的目次下,体系才干找到个中的JavaBean。JSWDK在缺省形态下将jswdk-1.0.1webpagesWEB-INFjspeans到场CLASSPATH。创建本人的JavaBean和package时,就放在这个目次中也不掉为一种浅易的办法。
上面先容一个复杂的JavaBean框架。用文本编纂器创立一个文本文件helloWorld.java,并保留在jswdk-1.0.1webpagesWEB-INFjspeans        est目次下,其内容以下:
packagetest;
publicclasshelloWorld{
publicStringname="Myfirstbean";
publicStringgetHi()
{
return"Hellofrom"+name;
}
}

helloWorld.java编纂好后,在DOS形态下,进进目次jswdk-1.0.1webpagesWEB-INFjspeans,用JDK的javac命令编译helloWorld.java以下:

javachelloWorld.java

注重,Java是辨别巨细写的,在程序中,编译命令行中字母的巨细写都不克不及写错。
编译乐成就暗示创建了一个JavaBean。上面看怎样在JSP中利用这个JavaBean。用文本编纂器创立一个文本文件hi-bean.jsp,并保留在jswdk-1.0.1webpages        est目次下,其内容以下:

<html>
<head>
<title>JavaBean实验</title>
</head>
<body>
<jsp:useBeanid="helloBean"scope="session"class="test.helloWorld"/>
<%=helloBean.getHi()%>
<hr>
<%
helloBean.name="JSP";
out.print(helloBean.getHi());
%>
</body>
</html>

在JSP网页中,利用<jsp:useBean.../>语法来创立JavaBean对象,并定名为helloBean。读者可从这个复杂的例子中看出设置、猎取JavaBean属性,和挪用JavaBean办法的做法。在扫瞄器的地点栏中键进http://localhost:8080/test/hi-bean.jsp,失掉了局如所示。
注重,假如修正和从头编译了JavaBean程序,则必要封闭和从头启动JSWDK的Web服务器今后修正的了局才会无效。假如仅仅修正JSP文件,则不必从头启动JSWDK的Web服务器.

固然,这仅仅完成了一个十分复杂的JavaBean框架,可是遵守这个框架能够计划出多种多样的JavaBean。比方,从JSP中会见数据一般就是经由过程JavaBean来完成的。

7、数据库毗连
数据库毗连对静态网站来讲是最为主要的部分,Java中毗连数据库的手艺是JDBC(JavaDatabaseConnectivity)。良多数据库体系带有JDBC驱动程序,Java程序就经由过程JDBC驱动程序与数据库相连,实行查询、提取数据等等操纵。Sun公司还开辟了JDBC-ODBCbridge,用此手艺Java程序就能够会见带有ODBC驱动程序的数据库,今朝年夜多半数据库体系都带有ODBC驱动程序,以是Java程序能会见诸如Oracle、Sybase、MSSQLServer和MSAccess等数据库。上面先容怎样用Access完成一个静态FAQ(罕见成绩及谜底)网站。
起首创建一个Access数据库faq.mdb,个中的表faqs有字段id(主动增量型,并设为主关头字)、subject(笔墨型,长度200)、answers(备注型)。这个表中能够寄存一些编程常识的罕见成绩及谜底,如。


然后,在ControlPanel(把持面板)的ODBCDatasource模块中到场SystemDSN,取名faq,并指向faq.mdb。
创立一个JavaBean,名为faq.java,并保留在jswdk-1.0.1webpagesWEB-INFjspeans        est目次下。faq.java的内容以下:

packagetest;
importjava.sql.*;

publicclassfaq{
StringsDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
StringsConnStr="jdbc:odbc:faq";
Connectionconn=null;
ResultSetrs=null;

publicfaq(){
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundExceptione){
System.err.println("faq():"+e.getMessage());
}
}

publicResultSetexecuteQuery(Stringsql){
rs=null;
try{
conn=DriverManager.getConnection(sConnStr);
Statementstmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLExceptionex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
returnrs;
}
}
用上一节先容的办法编译faq.java今后,在jswdk-1.0.1webpages        est目次下创立JSP文件faq.jsp,其内容以下:

<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title>我的FAQ!</title>
</head>
<body>
<p><b>这是我的FAQ!</b></p>
<%@pagelanguage="java"import="java.sql.*"%>
<jsp:useBeanid="workM"scope="page"class="test.faq"/>
<%
ResultSetRS=workM.executeQuery("SELECT*FROMfaqs");
Stringtt;
while(RS.next()){
tt=RS.getString("Answer");
out.print("<LI>"+RS.getString("Subject")+"</LI>");
out.print("<pre>"+tt+"</pre>");
}
RS.close();
%>
在扫瞄器的地点栏中键进http://localhost:8080/test/faq.jsp,faq.jsp挪用JavaBean,从数据库中读出内容并输入,失掉了局如所示.

限于篇幅,本文不克不及枚举JSP-JavaBean-JDBC/ODBC-数据库的庞大例子,读者能够从本文最初所保举的网址中找到并下载到数据库毗连典范。

8、手艺剖析
Microsoft公司的ASP手艺也是静态网页开辟手艺。JSP和ASP从情势上十分类似,ASP程序员一眼就可以认出<%%>和<%=%>。可是深切探求下往会发明它们良多的不同,个中最次要的有以下三点:
1、JSP的效力和平安性更高
ASP以源码情势寄存,以注释体例运转,每次ASP网页挪用都必要对源码举行注释,运转效力不高。别的,IIS的毛病曾使得很多网站源程序年夜暴光,包含笔者之前用ASP开辟的网站,ASP程序全体被人下载了往。
JSP在实行之前先被编译成字节码(bytecode),字节码由Java假造机(JavaVirtualMachine)注释实行,比源码注释的效力高;服务器上另有字节码的Cache机制,能进步字节码的会见效力。第一次挪用JSP网页大概稍慢,由于它被编译成Cache,今后就快很多了。同时,JSP源程序不年夜大概被下载,出格是JavaBean程序完整能够放到不合错误外的目次中。
2、JSP的组件(Component)体例更便利
ASP经由过程COM来扩大庞大的功效,如文件上载、发送email和将营业处置大概庞大盘算分别出来成为自力可反复使用的模块。JSP经由过程JavaBean完成了一样的功效扩大。
在开辟方面,COM的开辟远比JavaBean庞大和烦琐,学会ASP不难,但学会开辟COM可不复杂。而JavaBean就复杂多了,从本文上述示例中能够看出开辟JavaBean很便利。
在保护方面,COM必需在服务器上注册,假如修正了COM程序,就必需从头注册,乃至必需关机和从头启动。JavaBean则不必要注册,放在CLASSPATH包括的目次中就好了。假如JavaBean举行了修正,则JSWDK和Tomcat如今还必要封闭和从头运转(但不是关机),但开辟者已允诺将在今后的版本中做到不必要封闭服务器。
别的JavaBean是完整的OOP,能够针对分歧的营业处置功效便利地创建一整套可反复使用的对象库,比方用户权限把持、email主动复兴等等。
3、JSP的顺应平台更广
ASP今朝仅合用于NT和IIS。固然Unix下有ChiliSoft的插件来撑持ASP,可是ASP自己的功效无限,必需经由过程ASP+COM的组合来扩大,Unix下的COM完成起来十分坚苦。
JSP则分歧,几近一切平台都撑持Java,JSP+JavaBean能够在一切平台下通行无阻。NT下IIS经由过程一个插件,比方JRUN(http://www3.allaire.com/products/jrun/)大概ServletExec(http://www.newatlanta.com/),就可以撑持JSP。出名的Web服务器Apache已可以撑持JSP。因为Apache普遍使用在NT、Unix和Linux上,因而JSP有更普遍的运转平台。固然如今NT操纵体系占了很年夜的市场份额,可是在服务器方面Unix的上风仍旧很年夜,而新兴起的Linux更是来势不小。
从一个平台移植到别的一个平台,JSP和JavaBean乃至不必从头编译,由于Java字节码都是尺度的与平台有关的。笔者将在NT下实行的JSP网页一成不变地拿到Linux下就运转起来了,感到十分中意。
9、结论
综上所述,JSP可谓是构建静态网站的一个利器,故保举给读者,祝福你们把握JSP,开辟出优异的网站。ASP程序员也请试一下,JSP里也有session、request、response/out等对象,亲身碰运气怎样。

你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。

仓酷云 发表于 2015-1-18 18:28:25

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

爱飞 发表于 2015-1-19 23:51:09

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

小魔女 发表于 2015-1-25 09:52:03

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

海妖 发表于 2015-2-2 20:19:22

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

再现理想 发表于 2015-2-6 18:11:57

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

蒙在股里 发表于 2015-2-18 00:03:58

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

只想知道 发表于 2015-2-23 09:24:04

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

飘灵儿 发表于 2015-3-6 18:55:28

象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

愤怒的大鸟 发表于 2015-3-11 05:40:05

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

老尸 发表于 2015-3-17 21:10:36

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

简单生活 发表于 2015-3-25 02:39:35

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
页: [1]
查看完整版本: JAVA网页编程之Jsp 好的进门文章共赏