精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>JSP教程>正文

什么是JSP


来源:网络搜集 时间:07-03-13 点击: 点击这里收藏本文
在浏览器的地址栏中键入http://localhost:8080/mypage.jsp.
这样网站的界面就能统一起来,而设计者可以集中精力在功能模块上处理用户登录、连接数据库、发送email等等。每个JSP文件都有如下结构:

〈%@ include file="top.htm" %>
〈%
// 实现某些功能
%>
〈%@ include file="bot.htm" %>


维护网站的界面也相对比较容易,只要修改top.htm和bot.htm,就能影响到所有网页。
五、 服务器参数设置

JSWDK的Web服务器参数保存在\jswdk-1.0.1\webserver.xml中,用Windows写字板打开并编辑这个文件就可以修改缺省设置值。本节内容主要针对JSWDK,Linux下Tomcat的设置方法略有不同。
JSWDK缺省的文档目录是\jswdk-1.0.1\webpages,在此目录下可以建立子目录,例如\jswdk-1.0.1\webpages\test,就能在浏览器中用http://localhost/test访问这个目录,为了使得这个子目录能执行JSP程序,还必须在webserver.xml中的〈Service>〈/Service>节加入:
〈WebApplication id="test" mapping="/test" docBase="webpages/test" /> 并且,还必须建立\jswdk-1.0.1\webpages\test\WEB-INF目录,并从\jswdk-1.0.1\webpages\WEB-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.1\webpages\WEB-INF\jsp\beans\ 加入CLASSPATH。建立自己的JavaBean和package时,就放在这个目录中也不失为一种简易的方法。
下面介绍一个简单的JavaBean框架。用文本编辑器创建一个文本文件helloWorld.java,并保存在\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\test目录下,其内容如下:


package test;
public class helloWorld {
    public String name = "My first bean";
    public String getHi()
    {
return "Hello from " + name;
    }   
}



helloWorld.java编辑好后,在DOS状态下,进入目录\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\,用JDK的javac命令编译helloWorld.java如下:
javac helloWorld.java
注意,Java是区分大小写的,在程序中,编译命令行中字母的大小写都不能写错。编译成功就表示建立了一个JavaBean。下面看如何在JSP中使用这个JavaBean。用文本编辑器创建一个文本文件hi-bean.jsp,并保存在\jswdk-1.0.1\webpages\test目录下,其内容如下:

〈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来实现的。
七、 数据库连接

数据库连接对动态网站来说是最为重要的部分,Java中连接数据库的技术是JDBC(Java Database Connectivity)。很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询、提取数据等等操作。Sun公司还开发了JDBC-ODBC bridge,用此技术Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。下面介绍如何用Access实现一个动态FAQ(常见问题及答案)网站。首先建立一个Access数据库faq.mdb,其中的表faqs有字段id(自动增量型,并设为主关键字)、subject(文字型,长度200)、answers(备注型)。这个表中可以存放一些编程知识的常见问题及答案,
然后,在Control Panel(控制面板)的ODBC Datasource模块中加入System DSN,取名faq,并指向faq.mdb。 创建一个JavaBean,名为faq.java,并保存在\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\test目录下。faq.java 的内容如下:


package test;
import java.sql.*;

public class faq {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String sConnStr = "jdbc:odbc:faq";
    Connection conn = null;
    ResultSet rs = null;
  
    public faq() {
try {
            Class.forName(sDBDriver);   
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("faq(): " + e.getMessage());
}
    }

    public ResultSet executeQuery(String sql) {
  rs = null;
        try {
conn = DriverManager.getConnection(sConnStr);       
        Statement stmt = conn.createStatement();
        rs = stmt.executeQuery(sql);
        }
        catch(SQLException ex) {     
System.err.println("aq.executeQuery: " + ex.getMessage());
        }
        return rs;
    }
    }
    用上一节介绍的方法编译faq.java以后,在\jswdk-1.0.1\webpages\test目录下创建JSP文件faq.jsp,其内容如下:

〈html>
〈head>
〈meta http-equiv="Content-Type" content="text/html; charset=gb2312">
〈title>我的FAQ !〈/title>
〈/head>
〈body>
〈p>〈b>这是我的FAQ!〈/b>〈/p>
〈%@ page language="java" import="java.sql.*"  %>
〈jsp:useBean id="workM" scope="page" class="test.faq" />
〈%
    ResultSet RS = workM.executeQuery("SELECT * FROM faqs");
    String tt;
       while (RS.next()) {
       tt = RS.getString("Answer");
       out.print("〈LI>" + RS.getString("Subject") + "〈/LI>");
       out.print("〈pre>" + tt + "〈/pre>");
}
    RS.close();
%>


9 7 3 1 2 3 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.