2005年9月16日

您的位置: 爪哇流氓 / 文档 / 环境工具 / 工具使用
图解利用Eclipse3+Lomboz3+Tomcat开发JSP
[文章信息]
作者: javamxj
时间: 2005-06-05 22:33:21
出处: KissJava.com
责任编辑: Prose
点击: 5400
[文章导读]
我最近看了不少有关Lomboz的资料,发现有不少网友都对这个eclipse插件感兴趣,但苦于入门。感觉有必要把自己学习Lomboz的心得写下来,以便后来人不至于走太多的弯路
专题推荐
· 手机游戏开发专辑
· Struts专题学习
· Hibernate大杂烩
· WebWork全接触
· Spring - 春的诱惑
· Eclipse使用大全
· JBuilder 开发者指南
· Ant - 让编程更轻松
热门文章
· 图解利用Eclipse3+Lomboz3+Tomcat开发JSP(4673)
· 图解利用Eclipse3+Lomboz3+Tomcat开发JSP(4673)
· 史上最简单的struts+spring+hibernate配置实例(4657)
· Eclipse 平台Java开发入门(4568)
· Eclipse 平台Java开发入门(4568)
· Spring 入门(一个简单的例子)(3349)
· J2SDK和TOMCAT的安装及配置(2680)
· struts傻瓜式学习(一天篇)(2572)
· Spring framework 10分钟入门(2188)
· 图解利用Eclipse3+Lomboz3+Tomcat开发JSP(1704)
[正文]

  

我最近看了不少有关Lomboz的资料,发现有不少网友都对这个eclipse插件感兴趣,但苦于入门。感觉有必要把自己学习Lomboz的心得写下来,以便后来人不至于走太多的弯路。

一.环境需求:

1. Lomboz的相关资源
  由于这篇文章重点是放在Lomboz上,所以有必要强调一下。lomboz是Eclipse的一个J2EE的插件,它将很多Java应用服务器、J2EE组件和Web应用开发集成到Eclipse中,可以帮助Java开发者使用Eclipse建立、测试、部署J2EE应用。
      
  注意 下载的时候需要下载两个文件,一个是Lomboz3.0.1 一个是emf-sdo-runtime-2.0.0.zip(这个程序也可以从eclipe官方网站上下载最新版本http://www.eclipse.org/emf/
 
  教程和论坛都是属于Lomboz官方网站的,虽然都是英文资料,但是对于学习Lomboz有很大的帮助。对于想真正了解Lomboz的话(当然最好是直接看源码了),英文又过得去,还是应该看看教程和论坛上的资料。
 
 
2. 我的配置
  Winxp SP1,
  JDK 1.4.2-04  可以从SUN官方网站下载
  Eclipse 3.0.1 和语言包
  Tomcat 5.0.28
  Lomboz 3.0.1
 
3. 目录结构
  F:\\\\j2sdk                    JDK目录 
  D:\\\\eclipse                  Eclipse 目录
  F:\\\\java\\\\jakarta-tomcat      Tomcat 5.0.28 目录
  D:\\\\plug-in\\\\lomboz.301       Lomboz目录(我这里是采用links方式安装的,

二. 配置开发环境

  打开Eclipse,点击菜单“窗口”->首选项,以下都在“首选项”中配置:
  1. Java->构建路径   

  2. Lomboz     

  3.Lomboz->Server Definitions->Properties  

  4. 切换到主界面,点击“窗口”菜单->定制透视图  

  切换到“命令”菜单 

  5. 配置后的效果 

  注意:
  由于Tomcat 5.0.27、5.0.28版本在Lomboz中无法启动,故需要一些修改。
  找到“D:\\\\plug-in\\\\lomboz.301\\\\eclipse\\\\plugins\\\\com.objectlearn.jdt.j2ee_3.0.1\\\\servers”目录(我采用的是links安装方式);如果采用的是直接把Lomboz解压到Eclipse来安装的,那么要找到“eclipse的安装目录\\\\plugins\\\\com.objectlearn.jdt.j2ee_3.0.1\\\\servers”目录。
  这个目录里面都是相关服务器的配置文件,如果有些配置文件用不到,尽管删除,避免造成视觉疲劳。
如,我只留下了几个文件。   

  先把“tomcat50x.server”文件改名为“tomcat5028.server”(我用的是5.0.28版本),看起来方便。
打开这个文件,做如下修改: 

  最后保存即可。


三. 编辑一个JSP实例

  1.新建一个“Lomboz J2EE Project”。 在“项目名称”中填入“JspSample”,点击“下一步”,再点击“下一步”。 

  2.填写Web模块 

  3.增加一个服务器(可以增加多个服务器,其中有一个是默认的)  

  4. 效果如下:  

  5.双击打开index.jsp,点击“Lomboz View”按钮,如下图:  

  先点击“启动服务器”按钮(或在“Apache Tomcat v5.0.28”右击,选择“Run Server”),如果一切正常,在“控制台窗口”会输出“信息:Server startup in ... ms”。
 
  然后切换到“Lomboz J2EE View”栏,选中“demoWeb”,点击“部署模块”按钮,可以看到输出信息,
大致内容是生成了一个“demoWeb.war”文件,并且部署到“F:\\\\java\\\\jakarta-tomcat\\\\webapps”(这是我的电脑上的Tomcat目录)的目录中,接着,Tomcat服务器自动解压并初始化“demoWeb.war”。
 
  打开浏览器,在地址栏中输入“http://127.0.0.1:8080/demoWeb/index.jsp”
  OK! 你应该可以看到以下界面:  

  也可以右击“包资源管理器”中的“demoWeb”文件夹,然后采用以下步骤,如图: 

   6.在“index.jsp”中增加一条语句“<%   out.println("Use JSP!");  %>”,然后保存,点击“部署模块”,刷新浏览器,应该可以看到以下界面:

  7. 再增加以下语句,保存,部署模块,刷新浏览器。

1. 需要的软件
  JSTL 1.1.1
 
 
  XML Buddy  
  主页 http://xmlbuddy.com  
  这是一个eclipse插件,可以帮助编辑xml文件(可选安装)。
 
2.环境配置
 
  新建一个Lomboz J2EE Project,
  工程名称:“JSTL Sample”;
  填写Web Modules:“demoWeb2”;
  添加的Servers:“Tomcat 5.0.28”,
  由于我的上篇文章对eclipse新建工程介绍的比较详细,这里从简。
 
 
  目录结构
  F:\\\\j2sdk                    JDK目录 
  D:\\\\eclipse                  Eclipse 目录
  F:\\\\java\\\\jakarta-tomcat      Tomcat 5.0.28 目录
  D:\\\\plug-in\\\\lomboz.301       Lomboz目录(我这里是采用links方式安装的,
  D:\\\\java\\\\jstl                jakarta-taglibs-standard-1.1.1.zip的解压目录
  D:\\\\eclipse\\\\workspace\\\\JSTL Sample     刚建立的JSTL Sample工程目录
    根据安装的软件,自己作个合适的配置。
 
 
3. 加入库文件
 
  找到jslt\\\\lib目录,复制其中的jstl.jar、standard.jar文件到刚建立的“JSTL Sample”工程目录中的lib目录(这里为“D:\\\\eclipse\\\\workspace\\\\JSTL Sample\\\\demoWeb2\\\\WEB-INF\\\\lib”)。
 
  找到jstl\\\\tld目录,复制其中的c.tld文件到“JSTL Sample”目录中的“\\\\demoWeb2\\\\WEB-INF”目录。
 
  刷新demoWeb2目录,展开如图,可以看到加入的三个文件已经显示出来了:
 

 
4.修改程序
 

注意

由于Lomboz只支持JSTL1.1以上版本,EL 是在JSP 2.0 中正式纳入规范的,所以web.xml 应该使用2.4的Schema, 而不是2.3的DTD。   
 
  
  打开WEB-INF目录下的web.xml文件,修改如下: 

WEB-INF/web.xml

 <?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"
    version="2.4">
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
 <error-page>
  <error-code>404</error-code>
  <location>/error.jsp</location>
 </error-page>
</web-app>
 

注意

如果你安装了XMLBuddy插件,并且是用它来打开“web.xml”文件,有可能会出现以下的错误“Cannot find the declaration of the element \\\'web-app\\\'”,关闭“web.xml”文件,错误消失。它不妨碍程序的运行。   
 
 
  下面修改index.jsp文件

demoWeb2/index.jsp

<%@page contentType="text/html;charset=gbk" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 
<html>
  <head>
    <title>Count to 10 Example (using JSTL and scriptlet)</title>
  </head>
  <body>
 
    <%-- 这是利用JSTL 打印1到10 --%>
      利用JSTL 打印1到10 <p>
    <c:forEach var="i" begin="1" end="10" step="1">
      <c:out value="${i}" />
      <br/>
    </c:forEach>
   
    <%-- 这是利用JSP的scriptlet 打印1到10 --%>
    <p>    利用JSP的scriptlet 打印1到10   <p>
    <%  for(int i=1;i<=10;i++)  {%>
      <%=i%><br/>
    <%  } %>
  
 </body>
</html>
 
注意
在Lomboz中,只支持JSTL 1.1版本,所以其核心标签库的uri默认为http://java.sun.com/jsp/jstl/core
因为JSTL 1.1同时支持JSTL 1.0和1.1,所以假若核心标签库的uri为http://java.sun.com/jstl/core,则将会使用到JSTL 1.0的核心标签库,此时Lomboz将出现错误。
 
 
5.运行程序
  保存文件后,部署demoWeb2模块,运行服务器,然后在浏览器窗口输入地址:
 
  OK! 应该可以看到如下界面:


posted @ 2005-09-16 16:06 小猫Blog 阅读(208) | 评论 (1)编辑 收藏


sqlserver 2000h 和 jdbc 的融合问题


摘要:
java自身提供了对各类主流数据库系统的支持,通过提供java.sql 库,提供了一个统一的接口,使得可以在java环境下不必对程序作大规模的修改,只要更改相应的驱动程序,即可实现对各类数据库的操作,从而提高软件的生存周期和降低软件的开发成本和维护费用,本文简要地阐述一下sql server 2000 和jdk的融合问题。


转载:转载请保留本信息,本文来自http://www.matrix.org.cn/resource/article/1/1535.html
sql server 2000 与 jdk的融合问题!

sql server 2000 是当今网络编程中使用的比较多的一个数据库系统,而java则是流行的网络编程语言,在网络编程中涉及的比较多也比较重要的就是数据库问题,java自身提供了对各类主流数据库系统的支持,通过提供java.sql 库,提供了一个统一的接口,使得可以在java环境下不必对程序作大规模的修改,只要更改相应的驱动程序,即可实现对各类数据库的操作,从而提高软件的生存周期和降低软件的开发成本和维护费用,在这种情况下sql server 2000 和java 的融合问题就显得比较重要了,本文简要地阐述一下sql server 2000 和jdk的融合问题。


系统需求:
数据库:sql server 2000 sp3
驱动程序:sql server driver for jdbc
java版本:jdk1.2以上

1:我们首先使用jdbc-odbc桥来实现数据库的连接,这个相对简单
首先使用sql server 企业管理其建立一个数据库test,并建立一个简单的表 first_table
建立odbc数据源 ,各步骤采用默认操作即可

编写一个简单的测试程序,该程序主要实现数据库的连接,以及一个简单的sql操作 ,代码如下:
/***********************************************
/*
/*DbTest.java
/*
/******************************************* */

import java.sql.*;

public class DbTest {
   
   Connection con;
   Statement  sta;
   ResultSet  rs;
   
   String driver;
   String url;
   String user;
   String pwd;
   public DbTest()
   {
       driver = "sun.jdbc.odbc.JdbcOdbcDriver";
       url    = "jdbc:odbc:store_manager";
       user   = "share";
       pwd    = "share";
       init();
   }
   public void init()
   {
      try{
          Class.forName(driver);
          System.out.println("driver is ok");
          con = DriverManager.getConnection(url,user,pwd);
          System.out.println("conection is ok");
          sta = con.createStatement();
          rs  = sta.executeQuery("select * from room");
          while(rs.next())
           System.out.println(rs.getInt("roomNum"));
      }catch(Exception e)
       {
          e.printStackTrace();
       }
   }
   
   public static void main(String args  [])//自己替换[]
   {
      new DbTest();
   }
}


运行结果如下:

driver is ok
conection is ok
1001
1002
1003
1004
1005
1006
Press any key to continue...


顺利通过测试


2,我们这次不通过odbc桥来操作数据库,我们采用sql server driver 来实现对sqlserver数据库的操作, 这将是我们这篇文章的重点,因为jdbc-odbc桥是一种常见的操作windows系统数据库的常用方法,但它存在的缺点很多,所以现在很多开发者都侧重于使用sqlserver driver来操作,在这里我们通过一步步的调试,来加深读者对这种连接的理解

在通常的理解下,只要我们装了sqlserver driver for jdbc 我们便可进行数据库编程,事实则不然,首先我们看下边的代码:
/***********************************************
/*
/*DbTest.java
/*
/******************************************* */

import java.sql.*;

public class DbTest {
   
   Connection con;
   Statement  sta;
   ResultSet  rs;
   
   String driver;
   String url;
   String user;
   String pwd;
   public DbTest()
   {
       driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";;
       url    = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName =StoreManager";
       user   = "sa";
       pwd    = "potsmart10";
       init();
   }
   public void init()
   {
      try{
         Class.forName(driver);
         System.out.println("driver is ok");
         con = DriverManager.getConnection(url,user,pwd);
         System.out.println("conection is ok");
          sta = con.createStatement();
          rs  = sta.executeQuery("select * from room");
          while(rs.next())
           System.out.println(rs.getInt("roomNum"));
      }catch(Exception e)
       {
          e.printStackTrace();
       }
   }
   
   public static void main(String args [])//自己替换[]
   {
      new DbTest();
   }
}


这段代码跟上变得代码是一样的,差别在于驱动,还有url,这是在使用sqlserver driver for jdbc 中遇到的困惑

按道理讲,上边这段代码应该没错,可首先我们来看一下,如果sqlser服务器没有升级到sp3(在使用jdbc时,如果系统是xp或者2003务必要把sqlserver 升级到sp3,往上到处都有下的),我们看看运行结果

driver is ok
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source
)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)

at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Sou
rce)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
ource)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:523)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at DbTest.init(DbTest.java:32)
at DbTest.<init>(DbTest.java:25)
at DbTest.main(DbTest.java:46)
Press any key to continue...

出现上边错误的主要原因是默认的数据库服务器端口 1433没有打开,无法直接连接 。


如果升级到sp3则这个问题可以结决,我们再来看看升级之后,程序运行的结果


driver is ok
conection is ok
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对
象名 'room' 无效。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source
)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(
Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Sour
ce)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType
(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown
Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecu
te(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown So
urce)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at DbTest.init(DbTest.java:35)
at DbTest.<init>(DbTest.java:25)
at DbTest.main(DbTest.java:46)
Press any key to continue...

在这儿,用户已经登陆上去,但是却不能访问里边的数据表,出现这个问题的原因在于sa用户为系统用户
它虽然能够登陆数据库,但是storeManager数据库里边却没有这个用户的访问权限,所以,我们现在为这个数据库重新建立一个用户
share ,建立过程如下:在storeManager数据库中选重用户 ---〉新建用户 -- 〉名称选择(这一步中有两个关键点 1:身份验证选sql身份验证,默认数据库选StoreManager)-〉建立新教色share ,此时更改程序,将用户登陆名和密码修改一下,重新运行程序

driver is ok
conection is ok
1001
1002
1003
1004
1005
1006
Press any key to continue...

这次顺利通过测试



总结:sqlserve 和jdbc 的融合问题,关键涉及到sp3补丁(端口开放)还有用户问题,解决这两个问题之后,剩余的便是sqlserver 操作问题了,还有一点在远程操作的时候,要把sqlserver 组设置一下,在安全性里边亦将身份验证更改为sqlserve 验证即可

posted @ 2005-09-16 16:03 小猫Blog 阅读(161) | 评论 (0)编辑 收藏

仅列出标题