四、 统一的网站界面
JSP支持服务器端的文件包含,即可以在一个JSP文件中插入多个其他文件,用来实现统一的网站界面。修改上述hi.jsp并另存为mypage.jsp: <%@ include file="top.htm" %> <% String Msg = "This JSP test."; out.print("Hello World!"); %> <h2><%=Msg%></h2> <%@ include file="bot.htm" %> 用可视化HTML编辑器,例如FrontPage、Dreamweave等设计网站的框架结构,将设计好的框架结构文件分割成两个部分,上面一半保存为top.htm, 下面一半保存为bot.htm,代码如下面所示: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>我的主页〈/title> </head> <body> <table border="0" width="100%" cellpadding="4" cellspacing="0" align="center"> <tr> <td width="100%" colspan="2" bgcolor="#837ED1" align="center"><font face="隶书" color="#FFFF00" size=5>主页标题</font> </td> </tr> <tr> <td bgcolor="#837ED1" width="15%" valign="top" align="center"> <font color="#FFFFFF">选项</font><p><font color="#FFFFFF">选项</font></p> <p><font color="#FFFFFF">选项</font></p> <p><font color="#FFFFFF">......</font></p> <p> </p> </td> <td width="85%" valign="top"> -------------- </td> </tr> </table> </body> </html> 在浏览器的地址栏中键http://localhost:8080/mypage.jsp. 这样网站的界面就能统一起来,而设计者可以集中精力在功能模块上处理用户登录、连接数据库、发送email等等。每个JSP文件都有如下结构: <%@ include file="top.htm" %> <% // 实现某些功能 %> <%@ include file="bot.htm" %> 维护网站的界面也相对比较容易,只要修改top.htm和bot.htm,就能影响到所有网页。 五、 服务器参数设置 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>节加入: <WebApplication id="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程序。 六、 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目录下,其内容如下: package test; public class helloWorld { public String name = "My first bean"; public String getHi() { return "Hello from " + name; } } helloWorld.java编辑好后,在DOS状态下,进入目录jswdk-1.0.1webpagesWEB-INFjspeans,用JDK的javac命令编译helloWorld.java如下: javac helloWorld.java 注意,Java是区分大小写的,在程序中,编译命令行中字母的大小写都不能写错。编译成功就表示建立了一个JavaBean。下面看如何在JSP中使用这个JavaBean。用文本编辑器创建一个文本文件hi-bean.jsp,并保存在jswdk-1.0.1webpages est目录下,其内容如下: <html> <head> <title>JavaBean 试验</title> </head> <body> <jsp:useBean id="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,得到结果如图3所示。注意,如果修改和重新编译了JavaBean程序,则需要关闭和重新启动JSWDK的Web服务器以后修改的结果才会有效。如果仅仅修改JSP文件,则不用重新启动JSWDK的Web服务器。 虽然,这仅仅完成了一个非常简单的JavaBean框架,但是遵循这个框架可以设计出多种多样的JavaBean。例如,从JSP中访问数据通常就是通过JavaBean来实现的。
 
2/2 首页 上一页 1 2 |