基本内容
首先是用J2SE+TOMCAT搭建开发平台,然后会用实例分别对javabean和servlet进行测试,
同时也会谈到一些中文处理上的问题。文章内容可能会有点杂乱和零散,但这也是学习
jsp最基础的知识,要想学好jsp还得靠自己多努力学习。
为什么要写这样一篇文章?
认识我的朋友可能会知道,我平时只是写和翻译一些J2ME方面的开发的文章,而我为什
么要写一篇关于JSP入门的文章呢?原因有二,其一,最近小弟也在学习一些与web相关
的知识,有不少收获和心得,想告诉大家,好让后来者少走弯路,其二,有位好友最近
正准备学习jsp方面的知识,便有了写这篇文章的想法。由于小弟水平有限,如果有任何
错误和问题,请及时与我联系e-mail:numenzq@yahoo.com.cn,我好做出纠正和回复。现
在就言归正传,进入正题。
系统开发平台配置
1、 Windows2000 SP5
2、 J2SE 1.5.0
下载地址:http://java.sun.com/j2se/1.5.0/download.jsp
3、 TOMCAT5.5.12
下载地址:http://tomcat.apache.org/download-55.cgi#5.5.15
如果你已经安装过上述软件的旧版本,则可以跳过这个步骤看下面的文章,不过我建议
你尽量使用最近发布的版本,其好处就不用我多说了吧。如果你还没安装上面的软件,
请使用我上面给出的地址下载该软件。下载完后,根据提示安装好相应软件即可,tom
cat是压缩吧,直接解压后便可以使用。搭建一个简单的平台就这么简单,你已经开始佩
服自己了吧,呵呵~。下面我们将了解如何配置环境变量的。
环境变量配置
大家都应该知道,编写JAVA程序需要配置环境变量,不过这是一个简单的工作,就
让我们轻松的来完成它吧,我们找到修改环境变量的对话框,然后把下面的配置添加进
去,当然你也可以在命令行里添加这些配置,不过我相信大家还是愿意使用图形界面哈。
不过大家得注意的是,我假设把上面的软件都是直接安装在D:/跟目录下的。
JAVA_HOME=D:/JAVA/jdk1.5.0_06
TOMCAT_HOME=D:/apache-tomcat-5.5.15
path=%JAVA_HOME%/bin
classpath=.;%JAVA_HOME%/lib/rt.jar;
%JAVA_HOME%/lib/tools.jar;
%TOMCAT_HOME%/common/lib/servlet-api.jar
测试
现在万事俱备,只差编写代码和测试了。在实际编码之前,我们还是测试一下我们
这个开发平台是否正常。我们用经典的hello world来测试J2SE,代码如下:
public class helloworld { |
我们把上面这个代码保存在D:/根目录下,在命令行下编译和运行该程序,如果能输
出“hello,你好!”则说明你J2SE安装和环境设置没有问题。提示:你也可以使用java –version
来检查你的程序是否安装正确。
现在我们来测试Tomcat吧,在Tomcat安装目录下的bin文件夹里运行startup.bat,启动
Tomcat,然后在浏览器里键入:http://localhost:8080,只要能看见那只长得并不怎么
样的猫就行了。这样一来,我们既肯定了之前的工作,又可以安心的编码了。如果上面
两步测试存在问题的话,你就得认真检查一下了。
实例
终于开始编码了,现在我们将会编写helloBean.java和helloServlet.java文件,很显然,
两个文件是分别通过javabean和servlet的方式在页面上显示“hello,你好!”的。先让我们来
看看使用javabean的实现方法吧。
其实javabean就是一个普通的java类文件,不过需要满足一些特性,比如说:
javabean文件里需要一个本类的无参构造函数,属性的get/set方法等。关于javabean的
更详细的资料可以参考其他书籍。其实可以把javabean理解为一个提供方法的类,然后
在jsp里创建该类的对象,通过这个对象来调用相应的方法而已。Javabean就这么简单。
为了让大家容易理解,下面是一个简单的javabean文件。
//helloBean.java |
在上面的程序中,helloBean有一个属性str,并有与该属性配对的getStr和setStr方面。
既然之前说是要在jsp里显示str的内容,那么应该有一个jsp页面来调用它吧,下面我
们就来看这个jsp页面是如何实现的:
<%@ page contentType="text/html;charset=gb2312"%> |
上面的代码很短,但已经足够实现我们所需要的操作了,关键语句在标签里,
正如我们之前所说,先创建一个名为helloBean的对象,说明它的使用范围和类文
件所在地址;接下来则是调用getStr方法获得str的值并显示;最后修改str的值后,
再次读取该值并显示在屏幕上。
不过怎样来测试现有的代码呢?这个问题很简单,我们使用的web服务器是
tomcat,我们在tomcat在进入webapps目录,为了不和其他项目混淆,我们先为
这个项目建立一个文件夹,我取名字为jsp-test;然后在jsp-test里建立WEB-INF文
件夹,这个文件夹里存放着这个项目的类文件(classes)、库文件(lib)和配置文件
(web.xml)等。因为当客户请求该项目时tomcat服务器会自动根据配置文件在WEB
-INF文件下寻找相应的文件,并做出响应。好了,我们现在就试试helloBean,我
们得先把helloBean.java编译成helloBean.class文件,如刚才所说,我们把编译好
的helloBean.class文件存放到WEB-INF目录下,起目录结构为:D:/apache-tomcat
-5.5.15/webapps/jsp-test/WEB-INF/classes/hello。因为helloBean.java在hello下,
所以helloBean.class也在hello包下,符合相应的包结构。然后再把helloBean.jsp文
件保存到jsp-test目录下即可。还不快点启动tomcat,看看我们的成果,访问地址
就是之前我们的测试地址加上项目名和文件名,即http://localhost:8080/jsp-test
/helloBean.jsp。呵呵,看见效果了吧,下面我们将学习一个简单的servlet。
其实servlet跟javabean一样,也是一个java类文件,并满足一些特殊要求,如:
需要继承Servlet或HtppServlet类等。我们主要是是servlet的GET和POST方法来响
应页面请求。一个简单的servlet代码如下:
//helloServlet.java |
可能你也注意到了,helloServlet除了继承了HttpServlet类外,不管是POST还是GET方法时,都是在doPost方法中实现的,这些为了程序的简单易读。当然了,你 也可以根据不同的要求来修改代码。还值得注意的是,输出语句里的信息其实就是一个基本的html代码,这也是响应给客户端的信息。同样的,要运行该servlet也 需要一个jsp来实现.
这个jsp代码很简单,就是当表单里的按钮按下时,通过post方法响应action。还记得先前我说过的配置文件吗?因为调用servlet前需要在配置文件里说明servlet类存 放的地址和映射地址,所以我们编写一个web.xml文件如下:该文件应存放在WEB-INF目录下。
<?xml version="1.0" encoding="ISO-8859-1"?> |
现在来测试我们的servlet吧!怎么样,能看到“hello,???”,那就恭喜你了,
你已经测试成功了。既然是测试成功了,那为什么看不到中文的“你好”呢?
这个很简单,只需要修改一个地方就是了,我们打开之前的helloServlet类,
在doPost方法的最前面加上:
response.setContentType("text/html;charset=gb2312");
这样就ok了,你把修改后的helloServlet.java编译后,在启动tomcat运行看
看效果吧,现在就能显示中文了:)。
总结
这篇文章是关于jsp入门的基本文章,对jsp接触不多或不了解的人,
应该会有帮助。这些代码都很简单,是为了方便大家了解。如果大家想深
入学习相关知识,可以参考其他教程和文章。另外,为了帮我的朋友入门,
下一篇文章将会讲到jsp与数据库连接的相关知识。希望大家多多支持。
基本内容
在上一篇文章里已经讲过如何搭建 JSP+TOMCAT 开发平台。这一篇文章主要会讲到关于 jsp 连接数据库的基础知识。分别与 MySQL 和 Microsoft SQL Server 2000 建立数据库连接,希望大家喜欢和支持。
系统开发平台配置
关于 JSP+TOMCAT 开发平台的配置,在这里就不多提了,如果你任何问题可以参见我上一篇文章或与我联系。为了运行下面的实例,你得确保你机器里安装有 MySQL 和 Microsoft SQL Server 2000 ,下面是下载软件和驱动的连接:
1 、 MySQL 5.0.19
http://dev.mysql.com/downloads/mysql/5.0.html
2 、 MySQL-JDBC Driver 3.1.12
http://dev.mysql.com/downloads/connector/j/3.1.html
3 、 Microsoft SQL Server 2005 JDBC Driver
http://msdn.microsoft.com/data/jdbc/default.aspx
上面的准备工作做好了,下面来看我们的实例吧,这样理解起来轻松一些。
实例一
下面这个例子是教你如何通过 JSP 访问 MySQL 数据库的,首先我们要安装 MySQL 服务器,安装过程就不用我多提了吧,我们把刚才下的 MySQL-JDBC Driver 包里的 mysql-connector-java-3.1.12-bin.jar 文件放在 tomcat 安装目录下的 common/lib 文件夹下。当然,你也可以把该文件放在你工程的 WEB-INF/lib 目录下。然后我们开始编码,代码实现的效果很简单的,就是通过 root 用户访问本地的 MySQL test 数据库,并创建一个 test 的表,然后删除该表。下来我们来看看代码吧。
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head><title> 测试连接 MySQL 数据库 </title></head>
<body>
<%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url = "jdbc:mysql://localhost/test?user=root&password=&useUnicode=true&characterEncoding= 8859_1";
String createTable = "create table test(name char(12));";
String dropTable = "drop table test;";
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(createTable);
%>
<%out.print(" 已经创建了 test 表 ");%>
<%
stmt.executeUpdate(dropTable);
%>
<%out.print(" 已经删除了 test 表 ");%>
<%
stmt.close();
conn.close();
%>
</body>
</html>
上面的代码都是很简单的,在这里就不多做解释了,不过这样的两个操作后,数据库的数据是没有变化的,如果你想看具体的效果,你可以先把删除表的语句注释掉,这样就没问题了。
实例二
连接 SQL Server 跟 MySQL 是差不多的,在这里我就不多做解释了,自己看下面的代码吧,应该很好明白的。
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head><title> 测试连接 SQL Server 数据库 </title></head>
<body>
<%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String createTable = "create table test(name char(12));";
String dropTable = "drop table test;";
Connection conn= DriverManager.getConnection(url, "sa", "");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(createTable);
%>
<%out.print(" 已经创建了 test 表 ");%>
<%
stmt.executeUpdate(dropTable);
%>
<%out.print(" 已经删除了 test 表 ");%>
<%
stmt.close();
conn.close();
%>
</body>
</html>
需要注意的是, Microsoft 驱动的包结构有所变化,以前是 com.microsoft.jdbc.sqlserver.SQLServerDriver ,而现在却是 com.microsoft.sqlserver.jdbc.SQLServerDriver 。如果不改过来,就找不到相应的类。
总结
这篇文章是关于 JSP 连接数据库的基础文章,虽然写得很简单,但是还是很使用的。希望大家多提意见。