简介Jakarta-Struts是Apache软件组织提供的一项开放源代码项目,它为Java Web应用提供了模型-视图-控制器(MVC)框架,尤其适用于开发大型可扩展的Web应用. Struts为Web应用提供了一个通用的框架,使得开发人员可以把精力集中在如何解决实际业务问题上. 此外,Struts框架提供了许多可供扩展和定制的地方使得应用程序可以方便的扩展框架,来更好的适应用户的实际需求.
本文是一篇介绍利用MyEclipse进行Struts开发的基础教程,通过详细的描述和大量的图片来展现Struts开发的具体过程. 这里所采用的是我们经常会遇到的用户登陆的实例,如果用户登陆成功进入程序的主界面(main.jsp),否则返回登陆页面并提示错误信息.
n 创建Web项目
在菜单中依次点击File→New→Project,然后在弹出的窗口中选择J2EE→Web Project,启动Web项目创建向导。
点击下一步,在项目名称中,我们输入StrutsDemo,然后修改Context root URL为/hello,其他我们使用默认的设置,最后点击Finish按钮完成创建工作.
在项目创建后,我们需要让它支持Struts功能. 在菜单中选择MyEclipse→Add Struts Capabilities. 在弹出的对话框中, 将Struts specification修改为1.2,将Base package for new classes修改为我们喜欢的包名,如com.study.struts,修改完成后点击Finish按钮.
在Package Explore中,我们可以看到增加了Struts能力后,MyEclipse在Web项目中增加了很多jar文件和tld文件,请参考下图:
n 创建JSP文件
在我们的登陆程序中一共需要两个JSP文件. 一个是index.jsp,作为用户登陆的界面和登陆失败后的返回界面. 一个是main.jsp,作为登陆成功后的主界面.
在Package Explore中双击struts-config.xml将其打开,在源代码窗口中点击左侧工具栏中的
,在弹出的JSP文件创建向导中修改文件名为index.jsp,选择5]Standard JSP using Struts 1.2 with a form模板,然后点击Finish按钮. MyEclipse会为我们创建一个名为index.jsp的带一个Form的JSP文件.
按照同样的方法创建main.jsp. 由于我们只是简单的在主界面中显示成功登陆的信息,因此在创建的时候,我们选择的是第一个缺省的模板.
JSP文件创建后,我们可以根据自己的需要来修改其中的内容. 对于index.jsp,我们修改Form的action属性和提交参数的名字, 并增加了标签,可参考下面的代码:
<html:form action="/login.do" method="post" focus="login">
<center><html:errors/>center>
<table border="0">
<tr>
<td>Name:td>
<td><html:text property="name" />td>
tr>
<tr>
<td>Password:td>
<td><html:password property="password" />td>
tr>
<tr>
<td colspan="2" align="center"><html:submit />td>
tr>
table>
html:form>
对于main.jsp,我们修改中的输出信息,提示用户登陆成功,代码如下:
<body>
You have logged in!<br>
body>
保存两个JSP文件和struts-config.xml文件.
n 创建ActionForm
在我们的登陆程序中需要用户提交用户名和密码,因此我们需要创建一个ActionForm Bean来保存提交的HTML表单数据.
将源代码窗口中的标签切换到struts-config.xml,右上角的Outline窗口内容如下:
选中其中的form-beans,右键单击,在弹出的菜单中选择New Form. 在Form Bean创建向导对话框中,输入Use case的名字login,然后在下方的Form Properties中增加name和password两个属性.
n 创建Action
在完成上面的创建后,我们接下来创建Action类. 在源代码窗口中切换到struts-config.xml文件,点击左侧工具栏中的. 在弹出的创建向导中输入Use case名字为Login.
在对话框的下部Optional Details中,点击Name行末的Browse按钮,选中我们刚才创建的loginForm.
点击Input Source行末的Browse按钮,在弹出的对话框中选中index.jsp.
将Optional Details标签切换到Forwards,点击Add按钮增加一个局部的Forward.
这里的success是我们给Forward的名字,你也可以使用其它你喜欢的名字. 增加后如下:
完成新建Action的设置后如下图:
点击Finish按钮后,MyEclipse会为我们创建一个名叫LoginAction.java的文件,我们可以根据自己的需要来实现具体的验证逻辑. 这里,我们仅仅通过登陆的名字是否为hello来判断. 如果不是提示登陆失败. 代码参考如下:
ActionMessages errors=new ActionMessages();
LoginForm loginForm = (LoginForm) form;
String username=loginForm.getName();
if(username.equals("hello")) {
return mapping.findForward("success");
} else {
errors.add("username",new ActionMessage("error.msg"));
saveErrors(request,errors);
return (new ActionForward(mapping.getInput()));
}
从上面的代码中我们可以看到,当用户登陆失败后会使用一个键值为error.msg的ActionMessage. 因此,我们在Package Explore中找到ApplicationResources.properties文件并双击打开,输入以下内容并保存.
error.msg=Login Failed
在完成了上述所有的工作后,我们可以看到图示化的struts-config.xml如下:
n 部署和测试应用程序
这里StrutsDemo的部署同其他的Web应用程序一样,我们就不在赘述了,具体的方法可以参阅MyEclipse系列文章的第二篇Web项目的开发.
部署成功后,在IE的地址栏中输入http://localhost:8080/hello/index.jsp并回车.
我们首先验证登陆失败的场景. 当我们输入的用户名不是hello时,应返回到登陆页面并提示登陆失败. 在Name中输入abcd,点击Submit按钮.
我们可以看到又回到了登陆页面,并且出现了Login Failed的提示信息. 修改用户名为hello,然后点击Submit按钮.
完.
posted @
2006-08-29 13:27 摩西 阅读(585) |
评论 (0) |
编辑 收藏
以一个很简单的 Web 应用来说明使用 MyEclipse 的 Web 服务器配置,应用部署和调试过程。
一、准备开发工具
这里使用 Eclipse 3.1.2 和 MyEclipse4.1.1 ,当然 Java 通常都是用来开发网络应用的,那么 Web 服务器也就少不了了,这里使用tomcat5.0版本,当然如果你没有 J2SDK 那么所有的程序都没法编译运行了,所以,你也去准备一个吧,这里使用 J2SDK 1.5.0_06-b05 ,上,就无所谓,我们就可以使用所有的功能。
下载地址:
http://www.inspiresky.com/bbs/dispbbs.asp?boardID=13&ID=6356&page=1 http://www.inspiresky.com/bbs/dispbbs.asp?boardID=13&ID=3889&page=1 http://java.sun.com http://www.eclipse.org http://www.apache.org
http://www.myeclipseide.com/ContentExpress-display-ceid-10.html
里面有 MyEclipse 的注册码,这里提供的仅供个人学习研究使用,公司用户请自行购买序列号。
二、软件的安装和注册
首先要安装 JDK ,我这里使用默认安装,目录所有的都不改变, C:\Program Files\Java ,下面有两个文件夹,一个是 jdk ,一径之类的,请去网上查找相关资料吧,那个很多文章讲了。
Tomcat 的安装,我们使用 Exe 版本的安装文件,除了选择目录外,其他的都默认好了,这里安装到 D:\Tomcat5.5 ,注意中间为有时候有空格会很麻烦。
Eclipse 的安装比较方便,直接解包就行了,然后把解开的文件 Eclipse 文件夹放置到适当的安装目录,如这里是 D:/eclipse 。 pse.exe 文件,启动 Eclipse ,设置 JDK 和工作路径后就可以看到 Eclipse 的欢迎页面了。这里我们不使用 Eclipse ,所以,把它关闭 MyEclipse 是一个 Exe 安装文件,有安装向导,直接双击安装,选择完 Eclipse 安装目录 D:/eclipse 和自身的安装目录,这里使用 pse ,然后一路 next 就行了。 我们在程序组中可以找到 MyEclipse 程序组,点击打开,如果你没有默认的工作路径,选择一个工作路径后,会看到集成 e 的典型界面。 最后需要输入 MyEclipse 的注册码,打开菜单 window->preferences ,在对话框的菜单树中打开 MyEclipse->Subscription 项, n … 按钮,然后输入注册用户名和密码即可。 OK ,到这里所有需要的软件都安装好了,下面我们来创建一个简单的工程来说明 MyEclipse 的应用。
三、创建 Web 工程
由于这里只讲解 MyEclipse 的基本操作和设置,所以,就不做很复杂的项目了,完全可以触类旁通的。
打开 MyEclipse 开发界面, File->New->Projects … ,打开新建项目对话框,选中 MyEclipse->J2EE Projects->Web Project ,点 Project Details 的 Projects Name 中输入 WebTest ,其他采用默认值,注意这里的 Context root URL 为 /WebTest ,否则,你就要在 IE 才能使用了。注意这里的最下面有是否加入标签库支持,我们选择 JSTL1.1 。然后,点击 Finish 按钮完成项目创建。
我们察看我们新建的工程,需要的类都已经自动加载了进来,还有一个 J2EE 的类环境变量,这就是使用 MyEclipse 的方便之
四、新建 Hello 类 选中工程项目 WebTest 下的 src 文件夹(注意是在 Package Explorer 下,如果这个找不到,去找 Eclipse 使用指南看吧, Window kage Explorer ),右键菜单 New->Package ,新建一个包 com.inspiresky.bean 。选中新建的包,右键菜单 New ->Class , Name 中输 static void main 选项,其他全部默认,点击 Finish 按钮完成类的创建。
编辑类的代码,如下所示:
package com.inspiresky.bean;
/* * Junsan * http://www.inspiresky.com/bbs */
public class Hello
{ private String message = "Hello World";
/** * @return Returns the message. */
public String getMessage()
{ return message; }
/** * @param message The message to set. */
public void setMessage(String message)
{ this.message = message; } }
注意这里 Bean 属性的操作方法,可以先定义好属性,然后,在编辑窗口右键菜单 Source->Generate Getters and Setters 框中选择要生成 get 和 set 方法的属性确定就可以了
五、创建 JSP 页面
在 WebTest 工程中,选中 WebRoot 文件夹,右键菜单 New->JSP , File Name 修改为 index.jsp ,其他默认,点击 Finish 按
编辑 JSP 文件的内容如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<jsp:useBean id="hello" class="com.inspiresky.bean.Hello" scope="page"/>
<jsp:setProperty name="hello" property="message" value="Hello World!"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<jsp:getProperty name="hello" property="message" /><br>
This is my JSP page. <br>
</body>
</html>
注意红色部分为我们添加的代码。好了我们的代码已经编写完毕了。
六、配置 Tomcat 服务器
Eclipse 菜单, Window->Preference… ,打开 Preference 对话框,找到菜单树中 MyEclipse->Application Servers->Tomcatat 5 项,在对话框中,选中 Enable 单选按钮,然后点击 Tomcat Home Directory 输入框后的 Browse 按钮,选择 Tomcat 的安装根目 omcat5.5 ,其它的框会自动填充。点击 Apply 按钮。 选中 Tomcat 5 中的 JDK 一项,这里要特别注意,默认的是 JRE 的运行环境,这里要设定成 JDK 的,否则, MyEclipse 无法正常
也无法正常运行 Tomcat 服务器。
我们点击 Add 按钮, JRE Name 中写入 JDK1.5.0_06 ,然后在 Browse 选择框中选择 JDK 的根目录,这里是 C:\Program Files\Java\jdk1.5.0_0 6 ,其他的默认,点击 OK 按钮。在 Tomcat JDK Name 中选择我们刚才创建的那个,就是 JDK1.5.0_06 。点击 Apply 按钮,每次都点 e 出问题,你不点这个跑到另一个配置页面就会丢失上面的配置。
我们在 Tomcat 5 的 Launch 中确保选中了 Debug 模式。
而 Paths 中就是一些类路径设置,第一个是提前加载的类路径,有些包一启动服务器初始化 Web Application 时就要用到第二个是运行时才用到的;第三个是没有打包的类,这里我们就不管了。
现在可以点击 preference 对话框的 OK 按钮了,完成 Tomcat 的配置。 七、部属 Web 应用程序
这里就简单点了,我们选中 WebTest 工程的根目录,右键菜单 MyEclipse->Add and Remove Projects Deployments… ,确保 Projects 为 WebTest ,点击 Add 按钮,在弹出对话框的 Server 中选择 Tomcat 5 ,下面的两个单选项, Exploaded Archive 和分别是目录方式部属和包方式部属,这个都是由 MyEclipse 来做的,我们使用目录部署方式,不用打成 war 包,其他的不管它了钮回到上一个页面。
服务器指定了,下面来部署应用程序。选中对话框服务器列表中的 Tomcat 5 项,此时,灰显的按钮变为可用,其中 Remove 是移除部署和重新部署,我们点击 Redeploy 按钮,以后我们修改了工程也可以点此按钮重新部署。这里我们可以点击一下了。
OK ,程序已经部署完成了,下面要运行调试了。
八、运行调试程序
在 Eclipse 的图形菜单栏找到(这个按钮左边那个是重新部署按钮,右边是自掉的浏览器),点击下拉按钮,后点击 Start 菜单,启动 Tomcat 。 等 Consol 窗口中提示 Tomcat 启动成功,我们就可以运行我们的程序了。打开一个 IE 浏览器窗口,输入 http://localhost:8080/WebTes t/ ,我们可以看到如下信息:
Hello World!
This is my JSP page. 说明运行成功。
posted @
2006-08-29 12:04 摩西 阅读(8123) |
评论 (6) |
编辑 收藏
posted @
2006-08-25 16:28 摩西 阅读(3130) |
评论 (2) |
编辑 收藏
1.新建一个"swt/jface"项目
2.新建designer application Window文件
3.在可视界面加入MenuBar
4.再加入一个SubMenu名为File
5.分别加入两个Menuitem 取名分别为OPen 和Quit
6.导入一个文本Text,并且Lines为Multi
7.分别双击OPen 与Quit ,这样就注册了事件处理方法"WidgetSelected"的SelectionListener监听器.出现如下代码.
8.分别加入代码:
openMenuItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
FileDialog fd = new FileDialog(shell, SWT.OPEN);
String s = fd.open();
if (s != null && !s.equals("")) {
FileReader fr;
try {
fr = new FileReader(s);
BufferedReader br = new BufferedReader(fr);
String s1 = br.readLine();
while (s1 != null) {
text.append(s1 + "\n");
s1 = br.readLine();
}
br.close();
fr.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
});
quitMenuItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
shell.close();
}
});
9.运行结果如下:
posted @
2006-08-25 12:21 摩西 阅读(304) |
评论 (0) |
编辑 收藏
1.先安装SWT Designer插件.
2.新建SWT/JFace项目
3.在可视窗口中Design中,进行增加如下组件.
4.各选中文本组件在Events属性中选中事件处理类型verity->text 并双击后面区域,这样将到它进行监听注册.
5.选中事件处理类型Selection->widgetselected并双击后面区域,这样将到它进行监听注册.
6.双击提交后进入代码编辑界面,输入代码:
button.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
String sname = name.getText();
String spwd = pwd.getText();
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(
"jdbc:odbc:test", "", "");
Statement stmt = con.createStatement();
ResultSet rs = stmt
.executeQuery("select * from userid where name='"+sname+"'and psw='"+spwd+"'");
if (rs.next()) {
MessageDialog.openInformation(shell, "",
"谢谢你的登录!你是合法用户!");
} else {
MessageDialog.openInformation(shell, "",
"请你正确登录!用户名或密码不正确!");
}
rs.close();
stmt.close();
con.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
7.运行如下:
8.如下为数据库设计,当然要在这个项目之运行之前设计好!
对新手一定是绝好的教程哦
posted @
2006-08-25 09:08 摩西 阅读(722) |
评论 (0) |
编辑 收藏
目录列示器
本实例演示如何得到一个目录下的所有文件列表
.
1.
这里利用了
DirFilter
实现了
FilenameFilter
接口
,
因此必须继承
accept
的方法
.
2.
用到了匹配字符序列与正则表达式指定模式的类
Matcher,Pattern
所以要
java.util.regex
引入
.
实例程序
:
package javaio;
import java.io.*;
import java.util.*;
import java.util.regex.*;
public class DirList {
public static void main(String[] args) {
File path = new File("c:/");
String[] list;
if(args.length == 0){
list = path.list();
}
else{
//
这里将输入的参数作为过滤因子
list = path.list(new DirFilter(args[0]));
}
for(int i = 0; i < list.length; i++){
System.out.println(list[i]);
}
}
}
class DirFilter implements FilenameFilter {
private Pattern pattern;
public DirFilter(String regex) {
pattern = Pattern.compile(regex);
}
public boolean accept(File dir, String name) {
//
判断名为
name
的文件是不是符合过滤条件
return pattern.matcher(new File(name).getName()).matches();/*matches()
尝试将整个区域
/
与模式匹配。
new File(name).getName()
得到
String
类的
name*/
}
}
运行结果
:
posted @
2006-08-24 19:29 摩西 阅读(223) |
评论 (0) |
编辑 收藏
本实例演示
util
包中类
Calendar
的使用
Clendar
类是一种日期处理类
,
可以想像它是一个挂在墙壁上的典型日历
,
有许多日期和页数翻阅
.
1.
Clendar
类的变量域的概念
.
每个元素都是域
,
并且这些域在
Clendar
类中表现为静态变量
.
这些变量域
,
可能通过
get/set
类方法获得或者设置域值
.
[Calendardemo.java
代码
]:
import java.util.*;
public class Calendardemo {
public static void main(String[] args) {
//
创建一个日历对象
Calendar calendar = Calendar.getInstance();
//
用当前时间初始化日历对象
calendar.setTime(new Date());
String year = String.valueOf(calendar.get(Calendar.YEAR));
String month = String.valueOf(calendar.get(Calendar.MONTH) + 1);
String date = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
String day = String.valueOf(calendar.get(Calendar.DAY_OF_WEEK) - 1);
int hour = calendar.get(Calendar.HOUR);//
以
12
小时制
int hour_1 = calendar.get(Calendar.HOUR_OF_DAY);//
以
24
小时制
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
//
输出结果
System.out.println("year= " + year);
System.out.println("month= " + month);
System.out.println("date= " + date);
System.out.println("day= " + day);
System.out.println("hour= " + hour);
System.out.println("hour1= " + hour_1);
System.out.println("minute= " + minute);
System.out.println("second= " + second);
System.out.println("
现在时间是:
");
System.out.println(" " + year + "
年
" + month + "
月
" + date + "
星期
" + day);
calendar.set(1983, 7, 21);//
将日历翻到某个时间.
7
表示八月
long time1983 = calendar.getTimeInMillis();//
返回当前时间,作为从开始时间的
UTC
毫秒值
calendar.setTime(new Date());//
将日历翻到现在这个时间.
long time2006 = calendar.getTimeInMillis();
long interdays = (time2006 - time1983) / (1000 * 60 * 60 * 24);
System.out.println("
现在和
1983.8.21
相隔
" + interdays + "
天
");
}
}
注意
:
应该以静态方式访问静态字段
Calendar.year
运行结果
:
posted @
2006-08-24 19:28 摩西 阅读(694) |
评论 (0) |
编辑 收藏
摘要: 实现
java web
页面的登录验证
本案例中的程序主要通过
java jdbc-odbc
驱动连接
sql2000
数据库
,
并依据数据库中的用户表信息验证客户端登录请求提交的用户名和密码
.
1.
...
阅读全文
posted @
2006-08-23 14:57 摩西 阅读(3883) |
评论 (3) |
编辑 收藏
插件名称:
SQLExplorer
插件分类:
SQL Editor
插件版本:
2.2.4
插件介绍:
SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse连接到一个数据库。SQLExplorer插件提供了一个使用SQL语句访问数据库的图形用户接口(GUI)。通过使用SQLExplorer,能够显示表格、表格结构和表格中的数据,以及提取、添加、更新或删除表格数据。SQLExplorer同样能够生成SQL脚本来创建和查询表格。所以,与命令行客户端相比,使用SQLExplorer可能是更优越的选择。
安装条件:
eclipse-SDK-3.1.2-win32
http://mirrors.nsa.co.il/eclipse/eclipse/downloads/drops/R-3.1.2-200601181600/eclipse-SDK-3.1.2-win32.zip
Microsoft SQL Server 2000 Driver for JDBC Service Pack 3 (microsoft 微软官方 sqlserver2000 jdbc驱动)安装
SQLExplorer_2.2.4
http://puzzle.dl.sourceforge.net/sourceforge/eclipsesql/net.sourceforge.sqlexplorer_2.2.4.zip
一、安装SQLExplorer插件
在这里用link方式来安装SQLExplorer插件,将下载下来的net.sourceforge.sqlexplorer_2.2.4.zip包,解压缩到比如D:\eclipseplugins目录,将net.sourceforge.sqlexplorer_2.2.4目录重新命名为:sqlexplorer_2.2.4目录,改成如下目录结构:D:\eclipseplugins\sqlexplorer_2.2.4\eclipse\plugins\net.sourceforge.sqlexplorer_2.2.4,然后在比如:D:\eclipse-SDK-3.1.2\links新建一个sqlexplorer_2.2.4.link文件,这文件指向sqlexplorer_2.2.4插件所在的目录,也就是D:\eclipseplugins\sqlexplorer_2.2.4目录,重新启动Eclipse,就可以看到sqlexplorer插件了,若没看到,请在eclipse启动参数加上参数-clean,即eclipse.exe -clean,就可以了!如图
在Eclipse中“Window->preferences...“检查sqlexplorer是否安装成功,
二、使用SQLExplorer插件
SQLExplorer通过JDBC连接数据库的,包括Oracle、SQLServer、MySQL等流行的关系数据库,因此为了便于加深理解和使用,本例子建立一个从Eclipse到SQL Server2000数据库的JDBC连接,接着将在SQLExplorer图形SQL客户端提取和显示示例数据。
上一节介绍了安装SQLExplorer,接下来在使用SQLExplorer前需要配置,启动Eclipse后,打开SQLExplorer视窗,在Eclipse中集成环境中单击”Open perspective“->”Other...“按钮来打开一个视窗,选择SQLExplorer插件,如图:
就将看到SQLExplorer视窗显示在Eclipse左边中,Drivers标签显示了不同的数据库驱动,它们用来连接不同的数据库,现在可用的数据库包括DB2、Oracle、Sybase、HSQLDB、SQLServer和PostgreSQL,针对SQLServer来配置SQLExplorer,为了配置SQLServer驱动,右击Microsoft MSSQL Server JDBC Driver结点,并且选择 Change the selected Driver,如图
在 Modify driver框中,选择 Extra Class Path 标签,并且单击 Add 按钮将SQLServer驱动.jar文件添加到类路径中,下图显示将SQLServer的JDBC驱动加到 Eclipse 的类路径中。将 Driver 栏中的Example URL改成jdbc:microsoft:sqlserver://server-name:1433,这里的server-name指的是SQLServer服务器名称,比如连接本地数据库改成jdbc:microsoft:sqlserver://localhost:1433即可。
底下的Driver Class Name不需要改,采用默认值即可,如图
若要连接MS SQL Server数据库并提取其中的表格,需要为连接建立一个别名,一个连接的别名说明了连接设置,JDBC驱动、URL、用户名和密码。在SQLExplorer视窗中选择 Aliases 标签,单击“Create new Aliases”按钮来创建一个新的别名,如图
在“Create new Aliases”框中,指定一个别名,选择“Microsoft MSSQL Server JDBC Driver”来为MS SQL Server数据库创建一个别名。在 URL 域中指定数据库的连接 URL,如:jdbc:microsoft:sqlserver://localhost:1433,下图展示了MS SQL Server别名的设置,
以上操作将一个MS SQL Server别名加入到 Aliases标签中,如图所示,若要修改一个别名,右键点击别名结点并选择“Change the selected Alias.”
MS SQL Server别名用来连接到 SQL Server数据库并且从中提取数据,要打开数据库连接,右击MS SQL Server别名结点并选择“Open...”,如图
在 Connection框中,指定登录到 SQL Server数据库使用的用户名和密码,然后点击“OK”按钮,下图展示了登录的设置,缺省情况下,对于 sa用户不需要密码
一个与SQL Server数据库的JDBC连接建立起来了,一旦连接上了,Eclipse就会显示SQL Server数据库中不同的数据库模式,如图
以上完成了对 SQL Server数据库的配置和连接了。
对其他数据库的支持
这个JDBC连接的例子是关于配置与SQL Server数据库连接的,通过在 Drivers标签中为数据库选择合适的驱动,可以配置与其他数据库的JDBC支持,只需为选定的数据库指定驱动类和连接URL,就可以配置与该数据库的JDBC连接,以下列出的是其他数据库的驱动类、连接URL和.jar文件。
DB2
Driver Class:com.ibm.db2.jdbc.app.DB2Driver
Connetion URL:jdbc:db2:<database>
Driver .jar/.zip:db2java.zip
Sybase
Driver Class:com.sybase.jdbc2.jdbc.SybDriver
Connetion URL:jdbc:sybase:Tds:<host>:<porl>/<database>
Driver .jar/.zip:jconn2.jar
Oracle
Driver Class:oracle.jdbc.driver.OracleDriver
Connetion URL:jdbc:oracle:thin:@<host>:<porl>:<sid>
Driver .jar/.zip:classes12.zip
PostgreSQL
Driver Class:org.postgresqlDriver
Connetion URL:jdbc:postgresql://<server>:<port>/<database>
Driver .jar/.zip:postgresql.jar
MySQL
Driver Class:com.mysql.jdbc.Driver
Connetion URL:jdbc:mysql://<server>:<port>/<database>
Driver .jar/.zip:mysql-connector-java-3.0.16-ga-bin.jar
以上列表中,<database>是指数据库实例,<port>是数据库连接端口,<sid>是数据库的SID,<server>是数据库服务器。
访问数据库数据
现在我们将从示例库pubs中的示例表employee提取数据,如果是从一个命令行SQL客户端访问数据库,则使用如下命令来提取数据:
SQL>SELECT * FROM employee
这将以文本表的形式显示数据,使用图形SQL客户端SQLExplorer,数据将以结构表的形式显示,SQLExplorer同样也会生成创建表和从中提取数据的SQL脚本,如果使用DESC命令在一个命令行客户端中显示表格的结构,只有列名、列数据的类型、列数据的长度大小以及非空的值会被显示,有了SQLExplorer,索引、主键和外键值都会被显示
在Eclipse的SQLExplorer视窗中选择Database Structure View标签,为了显示表employee的结构,在Database Structure View中选择“Database->pubs->TABLE->employee”结点,下图显示了表employee的结构,
Columns标签显示了下表中列出的列:
为了显示选中的表格中的数据,请选择 Preview 标签。图中显示了表 employee中的数据。关于表格的其他的信息分别在 Indexes, Primary Key, Foreign Key 和 Row Count 标签中显示。
若想得到创建表格的 SQL 脚本,右击表结点并且选择“ Create Table Script”,如图所示,
如下图所示,这将生成创建被选表格的SQL脚本,并将其显示在SQLExplorer视窗中的SQL Editor中
Database Structure View的“Preview”标签中的数据是使用缺省的 Select 查询提取的,它包括了表格中所有的列。要想显示缺省的 Select 查询语句,右击表结点并且选择“Generate Select in Sql Editor”,如图所示
下图所示,SQL Editor中显示了从表employee中提取数据的缺省查询语句。注意:显示在 SQL Editor 中的 SELECT 查询语句的结尾没有分号(;)
通过以上SQL Editor可以运行select语句,同样也可以运行update语句、delete语句等,都可以比较好执行程序。
通过在 Eclipse 中配置 SQLExplorer 插件,该集成开发环境获得了图形用户界面(GUI)较之命令行客户端的许多优点。
对SQLExplorer 插件感兴趣的开发人员可以试一试,相信对您有很大的帮助!
总结
例子中,我们与MS SQL Server 数据库建立了一个 JDBC 连接,并访问其中的一个示例数据库。SQL Explorer 同样可以被用来配置与其他数据库的连接,包括 DB2, Sybase, Oracle, HSQLDB, SQL Server 和 PostgreSQL。
注意:在一开始要确保,sql2000与jdbc驱动都能正常运行! 可以先用dos: telnet localhost 1433 测试下1433端口是否可用.
posted @
2006-08-22 16:29 摩西 阅读(272) |
评论 (0) |
编辑 收藏
JDBC是Java DataBase Connection的简称,是一种用java实现的数据库接口技术,是开放数据库ODBC的java实现.这里我要说的是JDBC连接sql2000中的一些问题.
SQL2000配置
1.安装好sql2000,启动后,进dos命令 telnet localhost 1433 测试一下sql2000接口端口能否可用,如果进入了全黑的界面,那就恭喜你了,sql2000传输端口可用! 否测出现 ...不能打开主机的连接,在端口1433:连接失败 则要给sql2000打补丁了.
2.先安装sql2000 sq3, 再安装sql2000 sq4 .(各约50M)重启后 测试端口OK!!!
JDBC驱动配置
3.下载并安装Microsoft SQL Server 2000 Driver for JDBC Service Pack 3 (2.29M)
Eclipse 平台配置
4.新建一个Java项目 Connect_demo 下一步界面中选择库->添加外部JAR->添加msbase.jar;mssqlsever.jar;mstil.jar三文件(在jdbc的安装目录lib中可以找到!)OK进入下一步.确定.
5.新建类ConnectAccess.java 写入代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ConnectAccess {
public static void main(String[] args) {
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","");
Statement stmt =con.createStatement();
ResultSet rs =stmt.executeQuery("select fname,minit,lname from employee");
while (rs.next()){
System.out.print("\t fname:"+rs.getString(1));
System.out.print("\t minit:"+rs.getString(2));
System.out.print("\t lname:"+rs.getString(3));
System.out.println();
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
6.保存ConnectAccess.java并运行于java应用程序.
7.OK成功了!!
posted @
2006-08-22 15:05 摩西 阅读(1905) |
评论 (2) |
编辑 收藏