﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-iLxyfOeVEr</title><link>http://www.blogjava.net/iLxyfOeVEr/</link><description>World Of JavaCraft</description><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 10:55:23 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 10:55:23 GMT</pubDate><ttl>60</ttl><item><title> 史上最简单的Hibernate入门简介</title><link>http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35951.html</link><dc:creator>iLxyfOreVEr</dc:creator><author>iLxyfOreVEr</author><pubDate>Sat, 18 Mar 2006 08:27:00 GMT</pubDate><guid>http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35951.html</guid><wfw:comment>http://www.blogjava.net/iLxyfOeVEr/comments/35951.html</wfw:comment><comments>http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35951.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/iLxyfOeVEr/comments/commentRss/35951.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/iLxyfOeVEr/services/trackbacks/35951.html</trackback:ping><description><![CDATA[其实Hibernate本身是个独立的框架，它不需要任何web server或application server的支持。然而，大多数的Hibernate入门介绍都加入了很多非Hibernate的东西，比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss。这容易让人产生Hibernate复杂难懂的误解，特别是打击了初学者的积极性。<br /><br />在这篇文章将不涉及Eclipse, log4j, Struts, Tomcat, XDoclet，和JBoss。本文的目的是演示一下Hibernate的安装过程以及最基本的功能，从而给初学者一个低得不能再低的入门门槛。<br /><br /><br /><b>下载文件</b><br /><br />你需要Java SDK、 Hibernate包、Ant包、和JDBC Driver。<br /><br />1、Hibernate包下载地址:<br /><a href="http://prdownloads.sourceforge.net/hibernate/?sort_by=date&amp;sort=desc"><font color="#223355">http://prdownloads.sourceforge.net/hibernate/?sort_by=date&amp;sort=desc</font></a><br /><br />2、Ant包下载地址:<br /><a href="http://apache.130th.net/ant/binaries/apache-ant-1.6.1-bin.zip"><font color="#223355">http://apache.130th.net/ant/binaries/apache-ant-1.6.1-bin.zip</font></a><br /><br />3、JDBC Driver要根据你用的database来定，一般database官方网站上都会有。Hibernate支持常用的database，比如 MySQL, Oracle, PostgreSQL, 和MS-SQL Server。这些数据库都有JDBC Driver: <br /><br />Oracle JDBC Driver下载地址(下载前必须同意Oracle协议书)<br /><a href="http://otn.oracle.com/software/htdocs/distlic.html?/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html"><font color="#223355">http://otn.oracle.com/software/htdocs/distlic.html?/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html</font></a><br /><br />MySQL JDBC Driver下载地址<br /><a href="http://dev.mysql.com/downloads/connector/j/3.0.html"><font color="#223355">http://dev.mysql.com/downloads/connector/j/3.0.html</font></a><br /><br />PostgreSQL JDBC Driver下载地址<br /><a href="http://jdbc.postgresql.org/download.html"><font color="#223355">http://jdbc.postgresql.org/download.html</font></a><br /><br />MS-SQL Server JDBC Driver下载地址<br /><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&amp;displaylang=en"><font color="#223355">http://www.microsoft.com/downloads/details.aspx?FamilyID=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&amp;displaylang=en</font></a><br /><br />4、将Hibernate包和Ant包分别解压至c:\dev\下(此目录不重要，你可以换其它任何目录)。<br /><br /><br /><b>配置环境</b><br /><br />1、你需要添加一个新的环境变量: ANT_HOME，让它指向c:\dev\&lt;你的ANT包所在目录&gt;。并在PATH环境变量里添加%ANT_HOME%\bin。<br /><br />2、你需要添加一个新的环境变量: JAVA_HOME，让它指向你的j2sdk根目录。并在PATH环境变量里添加%JAVA_HOME%\bin。<br /><br />3、创建一个项目目录，比如c:\workspace\My1stHibernate。<br /><br />在项目目录下，另外创建三个目录: src, classes, lib。<br /><br />在lib目录下，创建两个目录: hibernate和db。<br /><br />这样你有了如下的文件结构:<br /><br />c:\workspace\My1stHibernate\<br />c:\workspace\My1stHibernate\src<br />c:\workspace\My1stHibernate\classes<br />c:\workspace\My1stHibernate\lib<br />c:\workspace\My1stHibernate\lib\hibernate<br />c:\workspace\My1stHibernate\lib\db<br /><br />4、将c:\dev\&lt;你的Hibernate包所在目录&gt;\hibernate2.jar文件copy到c:\workspace\My1stHibernate\lib\hibernate下。<br /><br />将c:\dev\&lt;你的Hibernate包所在目录&gt;\lib\下的所有文件同样copy到c:\workspace\My1stHibernate\lib\hibernate下。<br /><br />将你的JDBC Driver文件(一般是一个jar文件)copy到c:\workspace\My1stHibernate\lib\db下。<br /><br /><br /><b>创建数据库</b><br /><br />1、用你最喜爱的database软件，创建一个hibernate_test的数据库。<br /><br />2、在此数据库下，新建一个table名为CUSTOMER<br /><br />CREATE TABLE CUSTOMER<br />(<br />    CID INTEGER NOT NULL PRIMARY KEY, <br />    USERNAME VARCHAR(12) NOT NULL, <br />    PASSWORD VARCHAR(12) <br />);<br /><br /><br /><b>编写Java文件</b><br /><br />public class Customer {<br />    <br />    private int id;<br />    private String username;<br />    private String password;<br /><br /><br />    public int getId() {<br />        return id;<br />    }<br /><br />    public String getPassword() {<br />        return password;<br />    }<br /><br />    public String getUsername() {<br />        return username;<br />    }<br /><br />    public void setId(int id) {<br />        this.id = id;<br />    }<br /><br />    public void setPassword(String password) {<br />        this.password = password;<br />    }<br /><br />    public void setUsername(String username) {<br />        this.username = username;<br />    }<br /><br />}<br /><br />将此类存为c:\workspace\My1stHibernate\src\Customer.java文件。<br /><br />编写Test类<br /><br />import net.sf.hibernate.*;<br />import net.sf.hibernate.cfg.*;<br /><br />public class Test {<br /><br />    public static void main(String[] args) {<br /><br />        try {<br />            SessionFactory sf =<br />                new Configuration().configure().buildSessionFactory();<br />            Session session = sf.openSession();<br />            Transaction tx = session.beginTransaction();<br /><br />            for (int i = 0; i &lt; 200; i++) {<br />                Customer customer = new Customer();<br />                customer.setUsername("customer" + i);<br />                customer.setPassword("customer");<br />                session.save(customer);<br />            }<br /><br />            tx.commit();<br />            session.close();<br /><br />        } catch (HibernateException e) {<br />            e.printStackTrace();<br />        }<br />    }<br />}<br /><br />将此类存为c:\workspace\My1stHibernate\src\Test.java文件。<br /><br /><br /><b>创建Hibernate映射文件</b><br /><br />因为这里只有一个Class --- Customer 和一个Table --- CUSTOMER，你只需要建立一个映射文件--- Customer.hbm.xml，来对应Customer类和CUSTOMER表之间的关系。<br /><br />&lt;?xml version="1.0"?&gt;<br />&lt;!DOCTYPE hibernate-mapping PUBLIC<br />    "-//Hibernate/Hibernate Mapping DTD//EN"<br />    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"&gt;<br /><br />&lt;hibernate-mapping&gt;<br />    &lt;class name="Customer" table="CUSTOMER"&gt;<br />        &lt;id name="id" column="CID"&gt;<br />            &lt;generator class="increment" /&gt;<br />        &lt;/id&gt;<br />        &lt;property name="username" column="USERNAME" /&gt;<br />        &lt;property name="password" column="PASSWORD" /&gt;<br />    &lt;/class&gt;<br />&lt;/hibernate-mapping&gt;<br /><br />把此文件存为c:\workspace\My1stHibernate\src\Customer.hbm.xml，和Customer.java放在同一目录下。<br /><br /><b><br />编写Ant build.xml文件</b><br /><br />你不一定要知道这个build.xml的细节，其实Ant也不是Hibernate所必须的。这里用Ant是为了简化一些任务，比如: 编译、copy、运行，等。<br /><br />&lt;?xml version="1.0" ?&gt;<br /><br />&lt;project name="My1stHibernate" default="build" basedir="."&gt;<br /><br />    &lt;property name="base.dir" value="." /&gt;<br />    &lt;property name="src.dir" value="src" /&gt;<br />    &lt;property name="lib.dir" value="lib" /&gt;<br />    &lt;property name="build.dir" value="classes" /&gt;<br /><br />    &lt;path id="myclasspath"&gt;<br />        &lt;fileset dir="${lib.dir}"&gt;<br />            &lt;include name="**/*.jar" /&gt;<br />        &lt;/fileset&gt;<br />        &lt;pathelement location="${build.dir}" /&gt;<br />    &lt;/path&gt;<br /><br />    &lt;target name="init"&gt;<br />        &lt;mkdir dir="${build.dir}" /&gt;<br />    &lt;/target&gt;<br />    <br />    &lt;target name="build" depends="init" description="compile the source files"&gt;<br />        &lt;javac classpathref="myclasspath" srcdir="${src.dir}" destdir="${build.dir}" /&gt;<br />        &lt;copy todir="${build.dir}" &gt;<br />            &lt;fileset dir="${src.dir}" &gt;<br />                &lt;exclude name="**/*.java"/&gt;<br />            &lt;/fileset&gt;<br />        &lt;/copy&gt;<br />    &lt;/target&gt;<br /><br />    &lt;target name="run" depends="build"&gt;<br />        &lt;java classpathref="myclasspath" classname="Test" fork="true" /&gt;<br />    &lt;/target&gt;<br /><br />    &lt;target name="clean"&gt;<br />        &lt;delete includeEmptyDirs="true"&gt;<br />            &lt;fileset dir="${build.dir}" /&gt;<br />        &lt;/delete&gt;<br />    &lt;/target&gt;<br /><br />&lt;/project&gt;<br /><br /><br /><b>配置Hibernate描述文件</b><br /><br />Hibernate描述文件可以是一个properties或xml 文件，其中最重要的是定义数据库的连接。我这里列出的是一个XML格式的hibernate.cfg.xml描述文件。<br /><br />&lt;?xml version="1.0" encoding="utf-8" ?&gt;<br />&lt;!DOCTYPE hibernate-configuration<br />    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"<br />    "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"&gt;<br /><br />&lt;hibernate-configuration&gt;<br />    <br />    &lt;session-factory name="java:/hibernate/HibernateFactory"&gt;<br />        <br />        &lt;property name="show_sql"&gt;true&lt;/property&gt;<br />        &lt;property name="connection.driver_class"&gt;<br />            oracle.jdbc.driver.OracleDriver &lt;!-- 这里是Oracle 9i的JDBC driver class名 --&gt;<br />        &lt;/property&gt;<br />        &lt;property name="connection.url"&gt;<br />            jdbc:oracle:oci8:@hibernate_test &lt;!-- 这里是Oracle的hibernate_test数据库URL --&gt; <br />        &lt;/property&gt;<br />        &lt;property name="connection.username"&gt;<br />            你的数据库用户名<br />        &lt;/property&gt;<br />        &lt;property name="connection.password"&gt;<br />            你的数据库密码<br />        &lt;/property&gt;<br />        &lt;property name="dialect"&gt;<br />            net.sf.hibernate.dialect.Oracle9Dialect &lt;!-- 这里是Oracle 9i的Dialect --&gt;<br />        &lt;/property&gt;<br />        <br />        &lt;mapping resource="Customer.hbm.xml" /&gt; &lt;!-- 指定Customer的映射文件 --&gt;<br />        <br />    &lt;/session-factory&gt;<br />    <br />&lt;/hibernate-configuration&gt;<br /><br />如果你用的不是Oracle 9i，可到C:\dev\&lt;你的Hibernate包所在目录&gt;\src\hibernate.properties文件里找到你的数据库，然后替换以上相对应的值。<br /><br /><br /><b>开始运行</b><br /><br />到c:\workspace\My1stHibernate下，运行ant run。如果你严格依照以上步骤，应该看到<br /><br />run:<br />        [java] log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment).<br />        [java] log4j:WARN Please initialize the log4j system properly.<br />        [java] Hibernate: insert into CUSTOMER (USERNAME, PASSWORD, CID) values (?, ?, ?)<br />BUILD SUCCESSFUL<br /><br />到你的hibernate_test数据库看一下，在CUSTMOR表里新添了200条记录，但你没有写任何JDBC code。<br />以后如果你要更换数据库，只需要改变hibernate.cfg.xml描述文件里相应的值即可。<br /><br /><br /><b>结论</b><br /><br />此文是一篇门槛极低的入门介绍。我给一个完全不懂Hibernate的朋友看，他用了不到30分钟就运行了他的第一个Hibernate程序，从此引起了 他对Hibernate的兴趣。但读者必须认识到这只是一个开始，此文实乃窥Hibernate冰山一角上的一颗小冰晶。千里之行始于足下，你可以把此文 当作迈向Hibernate大道的一个起点。<br /><img src ="http://www.blogjava.net/iLxyfOeVEr/aggbug/35951.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/iLxyfOeVEr/" target="_blank">iLxyfOreVEr</a> 2006-03-18 16:27 <a href="http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35951.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用Eclipse开发Hibernate应用程序 </title><link>http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35948.html</link><dc:creator>iLxyfOreVEr</dc:creator><author>iLxyfOreVEr</author><pubDate>Sat, 18 Mar 2006 07:54:00 GMT</pubDate><guid>http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35948.html</guid><wfw:comment>http://www.blogjava.net/iLxyfOeVEr/comments/35948.html</wfw:comment><comments>http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35948.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/iLxyfOeVEr/comments/commentRss/35948.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/iLxyfOeVEr/services/trackbacks/35948.html</trackback:ping><description><![CDATA[
		<font face="Arial">Eclipse是目前非常流行的开发平台，开放扩展的架构让很多程序员找到了自己个性化的工作环境，Hibernate也是目前牛叉得不得了的框架，至少在EJB 3大行其道之前，它是我们在考虑OR映射时非常好的选择。本文主要介绍如何利用Hibernate Syn插件在Eclipse 3.0.1中快速的开发Hibernate应用程序，提高我们的工作效率。<br />　　下面演示一个最简单的单表操作，可以让我们很快熟悉开发过程。我们选择Mysql数据库来做这个应用，首先建立一个数据表，名为user_info，包含id、name、password三个字段，建表语句如下： 
<div class="postcolor"></div><div class="postcolor"><b># Host: localhost<br /># Database: test<br /># Table: 'user_info'<br /># <br />CREATE TABLE `user_info` (<br />`id` int(11) NOT NULL auto_increment,<br />`name` varchar(100) NOT NULL default '',<br />`password` varchar(100) NOT NULL default '',<br />PRIMARY KEY  (`id`)<br />);</b></div><div class="postcolor"></div><div class="postcolor">　　然后新建一个普通的Java项目：“<b>新建—项目—Java项目</b>”，注意加入Hibernate的所有lib文件，以及mysql的jdbc驱动文件。下面我们需要在项目中加入一个Hibernate的配置文件，在src目录下选择“<b>新建—其他—hibernate—hibernate configuration file</b>”，如下图：<br /><br /><img onmousewheel="return bbimg(this)" style="CURSOR: pointer" onclick="javascript:window.open(this.src);" alt="" src="http://blog.csdn.net/images/blog_csdn_net/bromon/29990/r_3.jpg" onload="javascript:if(this.width&gt;screen.width-500)this.style.width=screen.width-500;" border="0" /><br /><br />　　在弹出的界面中，你需要指定要使用的数据库，以及连接数据库所需要的信息，我们对应的选择了数据库为mysql，并配置了数据库的URL和管理员帐号，如下：<br /><br /><img onmousewheel="return bbimg(this)" style="CURSOR: pointer" onclick="javascript:window.open(this.src);" alt="" src="http://blog.csdn.net/images/blog_csdn_net/bromon/29990/r_4.jpg" onload="javascript:if(this.width&gt;screen.width-500)this.style.width=screen.width-500;" border="0" /><br /><br />　　在上图中，我们还可以指定从JNDI数据源中获得连接，可以点击“<b>Datasource</b>“标签进行配置。<br /><br />　　“<b>完成</b>”之后系统会自己生成一个名为“hibernate.cfg.xml”的文件，里面包含了基本的配置信息，如果需要高级配置，可以手动添加。<br /><br />　　下面我们要生成映射文件，首先新建一个包“org.bromon.zizz.pojo”，在这个包下选择“<b>新建—其他—hibernate—hibernate mapping file</b>”，在弹出的界面中点击“刷新”，讲会列出库中所有的数据表，选中我们要使用的“user_info”表，以及我们要生成的pojo文件所在的包：org.bromon.zizz.pojo。如下图：<br /><br /><img onmousewheel="return bbimg(this)" style="CURSOR: pointer" onclick="javascript:window.open(this.src);" alt="" src="http://blog.csdn.net/images/blog_csdn_net/bromon/29990/r_5.jpg" onload="javascript:if(this.width&gt;screen.width-500)this.style.width=screen.width-500;" border="0" /><br /><br />　　在上述界面的“Properties”标签中可以配置hbm的其他选项，包括文件扩展名，聚合列名，ID生成规则等。完成后，系统会自动生成一个名为“UserInfo.hbm”的文件，我们可以通过这个文件生成相关的存根类。在UserInfo.hbm文件上选择“<b>Hibernate Synchronizer—Synchronize files</b>”：<br /><br /><img onmousewheel="return bbimg(this)" style="WIDTH: 524px; CURSOR: pointer" onclick="javascript:window.open(this.src);" alt="" src="http://blog.csdn.net/images/blog_csdn_net/bromon/29990/r_6.jpg" onload="javascript:if(this.width&gt;screen.width-500)this.style.width=screen.width-500;" border="0" /><br /><br />　　该操作将生成三个包八个类文件，里面封装了Hibernate的操作细节，让我们可以专心面对业务逻辑的开发，仔细阅读这些文件可以提高你对Hibernate的认识，增长应用技巧。<br /><br />　　然后我们需要在Hibernate的配置文件中添加对UserInfo的相关信息，在UserInfo.hbm上选择“<b>Synchronizer—Add Mapping Reference</b>”。现在我们可以开始编写自己的程序逻辑了，代码可以写在org.bromon.zizz.pojo.dao. UserInfoDAO中，这个类的代码不会被插件修改。我们首先创建一条新的记录，在该类中加入一个main方法：<br /><br /></div><div class="postcolor"></div><div class="postcolor"><div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"><div><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main(String args[])<br /><img id="Codehighlighter1_39_427_Open_Image" onclick="this.style.display='none'; Codehighlighter1_39_427_Open_Text.style.display='none'; Codehighlighter1_39_427_Closed_Image.style.display='inline'; Codehighlighter1_39_427_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_39_427_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_39_427_Closed_Text.style.display='none'; Codehighlighter1_39_427_Open_Image.style.display='inline'; Codehighlighter1_39_427_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_39_427_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_39_427_Open_Text"><span style="COLOR: #000000">{<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />       </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_59_357_Open_Image" onclick="this.style.display='none'; Codehighlighter1_59_357_Open_Text.style.display='none'; Codehighlighter1_59_357_Closed_Image.style.display='inline'; Codehighlighter1_59_357_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_59_357_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_59_357_Closed_Text.style.display='none'; Codehighlighter1_59_357_Open_Image.style.display='inline'; Codehighlighter1_59_357_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />       </span><span id="Codehighlighter1_59_357_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_59_357_Open_Text"><span style="COLOR: #000000">{<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           _RootDAO.initialize();<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           UserInfoDAO uid</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> UserInfoDAO();<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           <br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           org.bromon.zizz.pojo.UserInfo ui</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> org.bromon.zizz.pojo.UserInfo();<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           ui.setName(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">bromon</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           ui.setPassword(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">123</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           <br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           uid.save(ui);<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           <br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />       }</span></span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">(Exception e)<br /><img id="Codehighlighter1_384_425_Open_Image" onclick="this.style.display='none'; Codehighlighter1_384_425_Open_Text.style.display='none'; Codehighlighter1_384_425_Closed_Image.style.display='inline'; Codehighlighter1_384_425_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_384_425_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_384_425_Closed_Text.style.display='none'; Codehighlighter1_384_425_Open_Image.style.display='inline'; Codehighlighter1_384_425_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />       </span><span id="Codehighlighter1_384_425_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_384_425_Open_Text"><span style="COLOR: #000000">{<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           e.printStackTrace();<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />       }</span></span><span style="COLOR: #000000"><br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div></div><br /></div><div class="postcolor"></div><div class="postcolor">　　可以看出，插件已经把session操作和事务操作都封装起来了，我们的代码工作得到了极大的简化。而且我们可以利用插件自带的Hibernate editor来编辑hbm文件，非常方便，我们需要把ID的生成方式改为“identity”：<br /><br /><img onmousewheel="return bbimg(this)" style="CURSOR: pointer" onclick="javascript:window.open(this.src);" alt="" src="http://blog.csdn.net/images/blog_csdn_net/bromon/29990/r_7.jpg" onload="javascript:if(this.width&gt;screen.width-500)this.style.width=screen.width-500;" border="0" /><br /><br />　　要让这个程序正常运行，还需要对配置文件hibernate.cfg.xml作一些修改。值得注意的是，请不要在该插件以外的环境中修改配置文件（比如使用DreamWeaver之类的工具编辑文件），否则会造成系统与资源不同步的错误，这可能是插件的一个bug。使用Eclipse的“<b>文本编辑器</b>”打开该文件，其中有如下的内容：</div><div class="postcolor"></div><div class="postcolor">&lt;property name="hibernate.transaction.factory_class"&gt;<br />net.sf.hibernate.transaction.JTATransactionFactory<br />&lt;/property&gt;<br />&lt;property name="jta.UserTransaction"&gt;<br />java:comp/UserTransaction<br />&lt;/property&gt;</div><div class="postcolor"></div><div class="postcolor">　　由于在我们的例子中，并没有使用JTA来控制事务，所以需要将上面的内容注释掉，程序才能正常运行。<br /><br />　　OK，Run一下，可以看到数据已经被保存到数据库。<br /><br />　　如果在实际开发工作中，需要重新设计数据表结构，那么只需要在.hbm文件中做相应的修改，然后执行“<b>Synchronize and Overwrite</b>”的操作，插件会重新生成存根文件，我们只需要修改程序逻辑就可以了，非常方便。有了这样的功能插件，我们可以极大的从配置文件的编写、查错中解脱出来，从而提高我们的工作效率</div></font>
<img src ="http://www.blogjava.net/iLxyfOeVEr/aggbug/35948.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/iLxyfOeVEr/" target="_blank">iLxyfOreVEr</a> 2006-03-18 15:54 <a href="http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35948.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 图解利用Eclipse3+Lomboz3+Tomcat开发JSP </title><link>http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35944.html</link><dc:creator>iLxyfOreVEr</dc:creator><author>iLxyfOreVEr</author><pubDate>Sat, 18 Mar 2006 07:21:00 GMT</pubDate><guid>http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35944.html</guid><wfw:comment>http://www.blogjava.net/iLxyfOeVEr/comments/35944.html</wfw:comment><comments>http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/iLxyfOeVEr/comments/commentRss/35944.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/iLxyfOeVEr/services/trackbacks/35944.html</trackback:ping><description><![CDATA[
		<h2>
				<a id="viewpost.ascx_TitleUrl" href="http://blog.csdn.net/javamxj/archive/2004/10/13/134830.aspx">
						<font color="#0000ff">图解利用Eclipse3+Lomboz3+Tomcat开发JSP －－1.环境</font>
				</a>
		</h2>我最近看了不少有关Lomboz的资料，发现有不少网友都对这个eclipse插件感兴趣，但苦于入门。感觉有必要把自己学习Lomboz的心得写下来，以便后来人不至于走太多的弯路。 
<div> </div><h3>一.环境需求：</h3><div><strong>1. Lomboz的相关资源</strong></div><div>   由于这篇文章重点是放在Lomboz上，所以有必要强调一下。lomboz是Eclipse的一个J2EE的插件，它将很多Java应用服务器、J2EE组件和Web应用开发集成到Eclipse中，可以帮助Java开发者使用Eclipse建立、测试、部署J2EE应用。</div><div>    </div><div>下载：<a href="http://forge.objectweb.org/project/showfiles.php?group_id=97">http://forge.objectweb.org/project/showfiles.php?group_id=97</a><a href="http://forge.objectweb.org/project/showfiles.php?group_id=97&amp;release_id=603"></a></div><div> </div><div>论坛：<a href="http://forge.objectweb.org/forum/forum.php?forum_id=360">http://forge.objectweb.org/forum/forum.php?forum_id=360</a></div><div> </div><div>教程：<a href="http://www.objectlearn.com/support/docs/index.jsp">http://www.objectlearn.com/support/docs/index.jsp</a></div><div>   </div><div>  <font color="#000000"><strong>注意 </strong>下载的时候需要下载两个文件，一个是Lomboz3.0.1 一个是emf-sdo-runtime-2.0.0.zip（这个程序也可以从eclipe官方网站上下载最新版本</font><a href="http://www.eclipse.org/emf/"><font color="#000000">http://www.eclipse.org/emf/</font></a><font color="#000000">）</font></div><div> </div><div>   教程和论坛都是属于Lomboz官方网站的，虽然都是英文资料，但是对于学习Lomboz有很大的帮助。对于想真正了解Lomboz的话（当然最好是直接看源码了），英文又过得去，还是应该看看教程和论坛上的资料。</div><div> </div><div> </div><div><strong>2. 我的配置</strong></div><div>   Winxp SP1，</div><div>   JDK 1.4.2-04  可以从SUN官方网站下载</div><div>   Eclipse 3.0.1 和语言包 </div><div>   Tomcat 5.0.28</div><div>   Lomboz 3.0.1</div><div> </div><div><strong>3. 目录结构</strong></div><div>   F:\j2sdk                    JDK目录 </div><div>   D:\eclipse                  Eclipse 目录</div><div>   F:\java\jakarta-tomcat      Tomcat 5.0.28 目录</div><div>   D:\plug-in\lomboz.301       Lomboz目录（我这里是采用links方式<font color="#000000">安装的，</font></div><div><font color="#000000">    参考   <a id="_e1302d344fa3d857_HomePageDays_DaysList__ctl3_DayItem_DayList__ctl0_TitleUrl" href="http://blog.csdn.net/javamxj/archive/2004/10/11/132311.aspx"><font color="#0000ff">Eclipse基础－－使用links方式安装Eclipse插件</font></a></font>）</div><div>   </div><div><font color="#000000">设置环境变量  参考  <a id="_e1302d344fa3d857_HomePageDays_DaysList__ctl3_DayItem_DayList__ctl2_TitleUrl" href="http://blog.csdn.net/javamxj/archive/2004/10/11/131935.aspx"><font color="#0000ff">Eclipse基础－－java环境变量设置</font></a></font></div><div> </div><div><font color="#000000">安装elcipse及语言包  </font>  参考  <a id="_e1302d344fa3d857_HomePageDays_DaysList__ctl3_DayItem_DayList__ctl1_TitleUrl" href="http://blog.csdn.net/javamxj/archive/2004/10/11/131952.aspx"><font color="#0000ff">Eclipse基础－－安装eclipse及语言包</font></a></div><div> </div><div> </div><h4> 二. 配置开发环境</h4><div>  打开Eclipse，点击菜单“窗口”-&gt;首选项，以下都在“首选项”中配置：</div><div>  1. Java-&gt;构建路径</div><div>    <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz4.jpg" /></div><div> </div><div>   2. Lomboz</div><div>     <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz1.jpg" /></div><div> </div><div>   3.Lomboz-&gt;Server Definitions-&gt;Properties<br />   <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz2.jpg" /></div><div> </div><div>   </div><div></div><div>4. 切换到主界面，点击“窗口”菜单-&gt;定制透视图</div><div>   <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz5.jpg" /></div><div> </div><div>  切换到“命令”菜单</div><div>  <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz6.jpg" /></div><div> </div><div> 5. 配置后的效果</div><div>  <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz7.jpg" /></div><div> </div><div>注意：</div><div>    由于Tomcat 5.0.27、5.0.28版本在Lomboz中无法启动，故需要一些修改。</div><div>    找到“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”目录。</div><div>    这个目录里面都是相关服务器的配置文件，如果有些配置文件用不到，尽管删除，避免造成视觉疲劳。</div><div>如，我只留下了几个文件。</div><div>    <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz8.jpg" /></div><div> </div><div></div><div> </div><div>  先把“tomcat50x.server”文件改名为“tomcat5028.server”（我用的是5.0.28版本），看起来方便。</div><div>打开这个文件，做如下修改：</div><div>  <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz9.jpg" /></div><div> </div><div>  <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz10.jpg" /></div><div>   最后保存即可。<br /><br /><br /></div><div><h2><a id="viewpost.ascx_TitleUrl" href="http://blog.csdn.net/javamxj/archive/2004/10/13/134840.aspx"><font color="#0000ff">图解利用Eclipse3+Lomboz3+Tomcat开发JSP －－2.编辑一个JSP实例</font></a></h2><h4>三. 编辑一个JSP实例 </h4><p>上一节内容（环境设置）：<a id="_e1302d344fa3d857_HomePageDays_DaysList__ctl1_DayItem_DayList__ctl1_TitleUrl" href="http://blog.csdn.net/javamxj/archive/2004/10/13/134830.aspx"><font color="#0000ff">图解利用Eclipse3+Lomboz3+Tomcat开发JSP －－1.环境</font></a></p><div> 1.新建一个“Lomboz J2EE Project”。 在“项目名称”中填入“JspSample”，点击“下一步”，再点击“下一步”。</div><div>  <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz11.jpg" /></div><div> </div><div>  </div><div>  2.填写Web模块</div><div>  <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz12.jpg" /></div><div> </div><div>  3.增加一个服务器（可以增加多个服务器，其中有一个是默认的）</div><div>   <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz13.jpg" /></div><div> </div><div>  4. 效果如下：</div><div>    <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz14.jpg" /></div><div>   </div><div></div><div>  5.双击打开index.jsp，点击“Lomboz View”按钮，如下图：</div><div>   <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz15.jpg" /></div><div>  </div><div>  先点击“启动服务器”按钮（或在“Apache Tomcat v5.0.28”右击，选择“Run Server”），如果一切正常，在“控制台窗口”会输出“信息：Server startup in ... ms”。</div><div> </div><div>  然后切换到“Lomboz J2EE View”栏，选中“demoWeb”，点击“部署模块”按钮，可以看到输出信息，</div><div>大致内容是生成了一个“demoWeb.war”文件，并且部署到“F:\java\jakarta-tomcat\webapps”（这是我的电脑上的Tomcat目录）的目录中，接着，Tomcat服务器自动解压并初始化“demoWeb.war”。</div><div> </div><div>   打开浏览器，在地址栏中输入“http://127.0.0.1:8080/demoWeb/index.jsp”</div><div>   OK！ 你应该可以看到以下界面：</div><div>   <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz16.jpg" /></div><div> </div><div> 也可以右击“包资源管理器”中的“demoWeb”文件夹，然后采用以下步骤，如图：</div><div>  <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz17.jpg" /></div><div> </div><div> </div><div>   6.在“index.jsp”中增加一条语句“&lt;%   out.println("Use JSP!");  %&gt;”,然后保存，点击“部署模块”，刷新浏览器，应该可以看到以下界面：</div><div> </div><div>    <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz18.jpg" /></div><div> </div><div>    <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz19.jpg" /></div><div> </div><div>  7. 再增加以下语句，保存，部署模块，刷新浏览器。</div><div>   <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz20.jpg" /></div><div>    <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz21.jpg" /></div><div>   </div><div>这篇文章主要介绍如何利用Lomboz开发JSTL和EL，最好先参考我的上一篇文章<a href="http://blog.csdn.net/javamxj/archive/2004/10/13/134830.aspx"><font color="#0000ff">《图解利用Eclipse3.0.1 + Lomboz3.0.1 + Tomcat5.0.28开发JSP》</font></a>，环境配置与它类似，这里从略。 
<div><strong><font size="4"></font></strong> </div><div><strong><font size="4">1. 需要的软件</font></strong></div><div>   <strong>JSTL 1.1.1</strong></div><div>       主页       <a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html</a></div><div>       下载       <a href="http://www.apache.org/dist/jakarta/taglibs/standard/binaries/jakarta-taglibs-standard-1.1.1.zip">http://www.apache.org/dist/jakarta/taglibs/standard/binaries/jakarta-taglibs-standard-1.1.1.zip</a></div><div> </div><div> </div><div>   <strong>XML Buddy</strong>   </div><div>   主页        <a href="http://xmlbuddy.com/">http://xmlbuddy.com</a>          <a href="http://xmlbuddy.com/2.0/58904908428240984589/409502405985075764578/3.0M9/xmlbuddy_2.0.10.zip">下载</a></div><div>   </div><div>   这是一个eclipse插件，可以帮助编辑xml文件（可选安装）。</div><div>   安装插件，参考<a id="_e1302d344fa3d857_HomePageDays_DaysList__ctl3_DayItem_DayList__ctl0_TitleUrl" href="http://blog.csdn.net/javamxj/archive/2004/10/11/132311.aspx"><font color="#0000ff">Eclipse基础－－使用links方式安装Eclipse插件</font></a></div><div> </div><div> </div><div><font size="4"><strong>2.环境配置</strong></font></div><div> </div><div>新建一个Lomboz J2EE Project，</div><div>  工程名称：“JSTL Sample”；</div><div>  填写Web Modules：“demoWeb2”；</div><div>  添加的Servers：“Tomcat 5.0.28”，</div><div> 由于我的上篇文章对eclipse新建工程介绍的比较详细，这里从简。</div><div> </div><div> </div><div>目录结构</div><div>   F:\j2sdk                    JDK目录  
<div>   D:\eclipse                  Eclipse 目录</div><div>   F:\java\jakarta-tomcat      Tomcat 5.0.28 目录</div><div>   D:\plug-in\lomboz.301       Lomboz目录（我这里是采用links方式<font color="#000000">安装的，</font></div><div>   D:\java\jstl                jakarta-taglibs-standard-1.1.1.zip的解压目录</div><div>   D:\eclipse\workspace\JSTL Sample     刚建立的JSTL Sample工程目录</div></div><div>    <strong>根据安装的软件，自己作个合适的配置。</strong></div><div><strong></strong> </div><div> </div><div><strong><font size="4">3. 加入库文件</font></strong></div><div> </div><div>   找到jslt\lib目录，复制其中的jstl.jar、standard.jar文件到刚建立的“JSTL Sample”工程目录中的lib目录（这里为“D:\eclipse\workspace\JSTL Sample\demoWeb2\WEB-INF\lib”）。</div><div> </div><div>   找到jstl\tld目录，复制其中的c.tld文件到“JSTL Sample”目录中的“\demoWeb2\WEB-INF”目录。</div><div> </div><div>  刷新demoWeb2目录，展开如图，可以看到加入的三个文件已经显示出来了：</div><div> <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz30.jpg" /></div><div> </div><div> </div><div><strong><font size="4">4.修改程序</font></strong></div><div> </div><div><table style="BORDER-LEFT-COLOR: rgb(204,204,204); BORDER-BOTTOM-COLOR: rgb(204,204,204); BORDER-TOP-COLOR: rgb(204,204,204); BORDER-RIGHT-COLOR: rgb(204,204,204)" cellspacing="0" bordercolordark="#ffffff" width="90%" bordercolorlight="#000000" border="1"><tbody><tr><td valign="top" width="100%" bgcolor="#cdcdcd"><p><strong><font color="#000000">注意</font></strong></p></td></tr><tr><td valign="top" width="100%" bgcolor="#ffffff"><div><font color="#000000">由于Lomboz只支持JSTL1.1以上版本，EL 是在JSP 2.0 中正式纳入规范的，所以web.xml 应该使用2.4的Schema， 而不是2.3的DTD。<font size="2"><font size="3"> </font>   </font></font></div></td></tr></tbody></table><font style="BACKGROUND-COLOR: #c0c0c0"><div style="MARGIN-BOTTOM: 0in"><font color="#000000"></font> </div></font></div><div>   </div><div>打开WEB-INF目录下的web.xml文件，修改如下：  
<table bordercolor="#000000" cellspacing="0" cellpadding="4" width="90%" border="0"><colgroup><col width="256" /></colgroup><tbody><tr><td style="BORDER-BOTTOM: rgb(51,51,204) thin inset" valign="top" width="100%" bgcolor="#d9eaf2" height="33"><p>WEB-INF/web.xml</p></td></tr><tr><td style="BORDER-TOP-STYLE: none; BORDER-TOP-COLOR: rgb(236,233,216)" valign="top" width="100%" bgcolor="#edf2b8"><pre><font size="4">&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;</font></pre><pre><font size="4">&lt;web-app xmlns="</font><font size="4">http://java.sun.com/xml/ns/j2ee</font><font size="4">"<br />    xmlns:xsi="</font><font size="4">http://www.w3.org/2001/XMLSchema-instance</font><font size="4">"<br />    xsi:schemaLocation="</font><font color="#000000" size="4">http://java.sun.com/xml/ns/j2ee</font><font color="#000000" size="4"> web-app_2_4.xsd"<br />    version="2.4"&gt;</font></pre><pre><font size="4"> &lt;welcome-file-list&gt;<br />  &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br /> &lt;/welcome-file-list&gt;</font></pre><pre><font size="4"> &lt;error-page&gt;<br />  &lt;error-code&gt;404&lt;/error-code&gt;<br />  &lt;location&gt;/error.jsp&lt;/location&gt;<br /> &lt;/error-page&gt;</font></pre><pre><font size="4">&lt;/web-app&gt;</font></pre></td></tr></tbody></table></div><div><font size="4"></font> </div><div><font style="BACKGROUND-COLOR: #c0c0c0"><table style="BORDER-LEFT-COLOR: rgb(204,204,204); BORDER-BOTTOM-COLOR: rgb(204,204,204); BORDER-TOP-COLOR: rgb(204,204,204); BORDER-RIGHT-COLOR: rgb(204,204,204)" cellspacing="0" bordercolordark="#ffffff" width="90%" bordercolorlight="#000000" border="1"><tbody><tr><td valign="top" width="100%" bgcolor="#cdcdcd"><p><strong><font color="#000000">注意</font></strong></p></td></tr><tr><td valign="top" width="100%" bgcolor="#ffffff"><div><font color="#000000">如果你安装了XMLBuddy插件，并且是用它来打开“web.xml”文件，有可能会出现以下的错误“Cannot find the declaration of the element 'web-app'”，<font size="2"><font size="3">关闭“web.xml”文件，错误消失。它不妨碍程序的运行。 </font>   </font></font></div></td></tr></tbody></table></font></div><font style="BACKGROUND-COLOR: #c0c0c0"><div style="MARGIN-BOTTOM: 0in"><font color="#000000"></font> </div><div style="MARGIN-BOTTOM: 0in"> </div></font><div style="MARGIN-BOTTOM: 0in">下面修改index.jsp文件</div><div><table bordercolor="#000000" cellspacing="0" cellpadding="4" width="90%" border="0"><colgroup><col width="256" /></colgroup><tbody><tr><td style="BORDER-BOTTOM: rgb(51,51,204) thin inset" valign="top" width="100%" bgcolor="#d9eaf2" height="33"><p>demoWeb2/index.j<font color="#000000">sp </font></p></td></tr><tr><td style="BORDER-TOP-STYLE: none; BORDER-TOP-COLOR: rgb(236,233,216)" valign="top" width="100%" bgcolor="#edf2b8"><div>&lt;%@page contentType="text/html;charset=gbk" %&gt;<br />&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;</div><div> </div><div>&lt;html&gt;<br />  &lt;head&gt;<br />    &lt;title&gt;Count to 10 Example (using JSTL and scriptlet)&lt;/title&gt;<br />  &lt;/head&gt;<br />  &lt;body&gt;<br />  <br />    &lt;%-- 这是利用JSTL 打印1到10 --%&gt;<br />      利用JSTL 打印1到10 &lt;p&gt;<br />    &lt;c:forEach var="i" begin="1" end="10" step="1"&gt;<br />      &lt;c:out value="${i}" /&gt;<br />      &lt;br/&gt;<br />    &lt;/c:forEach&gt;<br />    <br />    &lt;%-- 这是利用JSP的scriptlet 打印1到10 --%&gt;<br />    &lt;p&gt;    利用JSP的scriptlet 打印1到10   &lt;p&gt;<br />    &lt;%  for(int i=1;i&lt;=10;i++)  {%&gt;<br />      &lt;%=i%&gt;&lt;br/&gt;<br />    &lt;%  } %&gt;<br />   <br /> &lt;/body&gt;<br />&lt;/html&gt;</div></td></tr></tbody></table></div><div><font size="2"></font> </div><div><font size="2"></font>  
<table style="BORDER-LEFT-COLOR: rgb(204,204,204); BORDER-BOTTOM-COLOR: rgb(204,204,204); BORDER-TOP-COLOR: rgb(204,204,204); BORDER-RIGHT-COLOR: rgb(204,204,204)" cellspacing="0" bordercolordark="#ffffff" width="90%" bordercolorlight="#000000" border="1"><tbody><tr><td valign="top" width="100%" bgcolor="#cdcdcd"><div><strong>注意</strong></div></td></tr><tr><td valign="top" width="100%" bgcolor="#ffffff"><div>在Lomboz中，只支持JSTL 1.1版本，所以其核心标签库的uri默认为http://java.sun.com/jsp/jstl/core。 </div><div>因为JSTL 1.1同时支持JSTL 1.0和1.1，所以假若核心标签库的uri为http://java.sun.com/jstl/core，则将会使用到JSTL 1.0的核心标签库，此时Lomboz将出现错误。</div></td></tr></tbody></table></div><div> </div><div><font size="4"><strong></strong></font> </div><div><font size="4"><strong>5.运行程序</strong></font></div><div><font size="4"><strong>   </strong>保存文件后，部署demoWeb2模块，运行服务器，然后在浏览器窗口输入地址：</font></div><div><font size="4"> <a href="http://localhost:8080/demoWeb2">http://localhost:8080/demoWeb2</a> </font></div><div><font size="4"></font> </div><div><font size="4"> OK! 应该可以看到如下界面：</font></div><div><font size="4"><img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz31.jpg" /></font></div><div><a id="viewpost.ascx_TitleUrl" href="http://blog.csdn.net/javamxj/archive/2004/10/15/137863.aspx"><font color="#0000ff">图解利用Eclipse3+Lomboz3+Tomcat开发JSP －－ 4.一个Servlet实例</font></a></div><div></div><div>这篇文章主要介绍如何利用Lomboz开发JSTL和EL，最好先参考我的以前的文章<a href="http://blog.csdn.net/javamxj/archive/2004/10/13/134840.aspx"><font color="#0000ff">《图解利用Eclipse3.0.1 + Lomboz3.0.1 + Tomcat5.0.28开发JSP》</font></a>，环境配置与它类似，这里从略。 
<div><strong><font size="4">一. 需要的软件</font></strong></div><div>   <strong>XML Buddy</strong>   </div><div>   主页        <a href="http://xmlbuddy.com/">http://xmlbuddy.com</a>        <a href="http://xmlbuddy.com/2.0/58904908428240984589/409502405985075764578/3.0M9/xmlbuddy_2.0.10.zip">下载</a></div><div>   这是一个eclipse插件，可以帮助编辑xml文件。</div><div>   安装插件，参考    <a href="http://blog.csdn.net/javamxj/archive/2004/10/11/132311.aspx"><font color="#0000ff">《使用links方式安装Eclipse插件》</font></a></div><div> </div><div> </div><div><font size="4"><strong>二. 环境配置</strong></font></div><div> </div><div>1.新建一个Lomboz J2EE Project，</div><div>  工程名称：“Servlet Sample”；</div><div>  填写Web Modules：“servletWeb”；</div><div>  添加的Servers：“Tomcat 5.0.28”，</div><div> 由于我的上篇文章对eclipse新建工程介绍的比较详细，这里从简。</div><div> </div><div> </div><div>2.目录结构</div><div>   F:\j2sdk                    JDK目录  
<div>   D:\eclipse                  Eclipse 目录</div><div>   F:\java\jakarta-tomcat      Tomcat 5.0.28 目录</div><div>   D:\plug-in\lomboz.301       Lomboz目录（我这里是采用links方式<font color="#000000">安装的，</font></div><div>   D:\eclipse\workspace\Servlet Sample     刚建立的JSTL Sample工程目录</div></div><div>    <strong>根据安装的软件，自己作个合适的配置。</strong></div><div><strong></strong> </div><div><strong></strong> </div><div> 3.对xml文件进行自动格式化</div><div>   Eclipse主界面-&gt;窗口-&gt;首选项-&gt;XMLBuddy-&gt;Formatting：勾选右栏中的两个单选框。</div><p>    <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz41.jpg" /></p><p> </p><p>4.为了使Lomboz自动向配置文件web.xml中添加参数，需要修改web.xml的名称空间，由原先的“web-app_2_3.dtd”换成“web-app_2_4.xsd”。</p><p> 打开web.xml文件，修改后如下：  </p><table bordercolor="#000000" cellspacing="0" cellpadding="4" width="90%" border="0"><colgroup><col width="256" /></colgroup><tbody><tr><td style="BORDER-BOTTOM: rgb(51,51,204) thin inset" valign="top" width="100%" bgcolor="#d9eaf2" height="33"><p>Servlet Sample\servletWeb\WEB-INF\web.xml</p></td></tr><tr><td style="BORDER-TOP-STYLE: none; BORDER-TOP-COLOR: rgb(236,233,216)" valign="top" width="100%" bgcolor="#edf2b8"><pre>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;</pre><pre>&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee"<br />    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"<br />    version="2.4"&gt;<br />    <br /> &lt;welcome-file-list&gt;<br />  &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br /> &lt;/welcome-file-list&gt;</pre><pre> &lt;error-page&gt;<br />  &lt;error-code&gt;404&lt;/error-code&gt;<br />  &lt;location&gt;/error.jsp&lt;/location&gt;<br /> &lt;/error-page&gt;</pre><pre>&lt;/web-app&gt;  </pre></td></tr></tbody></table><p> </p><p> <strong><font size="4">三. 编写实例</font></strong></p><p>  一定要把前面的准备工作做好，才能得到好的效果。</p><p>  1. 右击servletWeb，新建一个Servlet</p><p>   <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz42.jpg" /></p><p> </p><p> 2. 如下填写</p><p>   <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz43.jpg" /></p><p>   下一步：</p><p>   <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz44.jpg" /></p><p> </p><p>3.再次打开web.xml文件，发现参数已经自动添加。 </p><table bordercolor="#000000" cellspacing="0" cellpadding="4" width="90%" border="0"><colgroup><col width="256" /></colgroup><tbody><tr><td style="BORDER-BOTTOM: rgb(51,51,204) thin inset" valign="top" width="100%" bgcolor="#d9eaf2" height="33"><p>Servlet Sample\servletWeb\WEB-INF\web.xml</p></td></tr><tr><td style="BORDER-TOP-STYLE: none; BORDER-TOP-COLOR: rgb(236,233,216)" valign="top" width="100%" bgcolor="#edf2b8"><pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee" <br />    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <br />    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd" <br />    version="2.4"&gt;<br />    <br />    <br />    &lt;servlet&gt;<br />        &lt;servlet-name&gt;HelloServlet&lt;/servlet-name&gt;<br />        &lt;servlet-class&gt;javamxj.servlet.HelloServlet&lt;/servlet-class&gt;<br />        &lt;init-param&gt;<br />            &lt;param-name&gt;greeting&lt;/param-name&gt;<br />            &lt;param-value&gt;Hello&lt;/param-value&gt;<br />        &lt;/init-param&gt;<br />        &lt;init-param&gt;<br />            &lt;param-name&gt;name&lt;/param-name&gt;<br />            &lt;param-value&gt;javamxj blog&lt;/param-value&gt;<br />        &lt;/init-param&gt;<br />    &lt;/servlet&gt;<br />    <br />    &lt;servlet-mapping&gt;<br />        &lt;servlet-name&gt;HelloServlet&lt;/servlet-name&gt;<br />        &lt;url-pattern&gt;/hello&lt;/url-pattern&gt;<br />    &lt;/servlet-mapping&gt;<br />    <br />    <br />    &lt;welcome-file-list&gt;<br />        &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br />    &lt;/welcome-file-list&gt;<br />    &lt;error-page&gt;<br />        &lt;error-code&gt;404&lt;/error-code&gt;<br />        &lt;location&gt;/error.jsp&lt;/location&gt;<br />    &lt;/error-page&gt;<br />    <br />&lt;/web-app&gt;</pre></td></tr></tbody></table><div> </div><div>4.修改HelloServlet.java，修改如下：</div><div><table bordercolor="#000000" cellspacing="0" cellpadding="4" width="90%" border="0"><tbody><tr><td style="BORDER-BOTTOM: rgb(51,51,204) thin inset" valign="top" width="100%" bgcolor="#d9eaf2" height="33"><p>Servlet Sample\src\javamxj\servlet\HelloServlet.java</p></td></tr><tr><td style="BORDER-TOP-STYLE: none; BORDER-TOP-COLOR: rgb(236,233,216)" valign="top" width="100%" bgcolor="#edf2b8"><pre>package javamxj.servlet;</pre><pre>import java.io.IOException;<br />import java.io.PrintWriter;</pre><pre>import javax.servlet.ServletConfig;<br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;</pre><pre>/**<br /> * @author javamxj<br /> *<br /> * 使用初始化参数在输出窗口显示两个字符串<br /> * （”Hello javamxj blog“），<br /> * 如果初始化参数没定义，使用缺省字符串<br /> * （“Welcome Servlet！”）。<br /> * 初始化参数定义在web.xml文件中。<br /> * <br /> */<br />public class HelloServlet extends HttpServlet {</pre><pre> private String defaultGreeting;<br /> private String defaultName;</pre><pre> public void init(ServletConfig config) throws ServletException {<br />  //从web.xml中获得初始化参数<br />  super.init(config);<br />  <br />  //获取初始化参数，如无，使用缺省字符串<br />  if ((defaultGreeting = getInitParameter("greeting")) == null)<br />   defaultGreeting = "Welcome";<br />  if ((defaultName = getInitParameter("name")) == null)<br />   defaultName = "Servlet!";  <br /> }</pre><pre> protected void doGet(HttpServletRequest request,<br />   HttpServletResponse response) throws ServletException, IOException {<br />        <br />  // 首先设置文档类型<br />        response.setContentType("text/html; charset=GBK");</pre><pre>        // 获取输出流<br />        PrintWriter out = response.getWriter();<br />        <br />        out.println("&lt;html&gt;&lt;head&gt;&lt;title&gt;Welcome javamxj Blog!&lt;/title&gt;&lt;/head&gt;");<br />        out.println("&lt;body&gt;&lt;h1&gt;");<br />        out.println(defaultGreeting +  "    " + defaultName);<br />        out.println("&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;");</pre><pre> }<br />}</pre></td></tr></tbody></table></div><div> </div><div>5.保存，启动服务器，部署servletWeb模块，打开浏览器窗口，输入地址：</div><div>  <a href="http://localhost:8080/servletWeb/hello">http://localhost:8080/servletWeb/hello</a></div><div>  如图：</div><div>  <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz45.jpg" /></div><div> </div><div> </div><div>6.下面不使用初始化参数。</div><div>    打开web.xml文件，如下修改，保存。</div><div>    <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz46.jpg" /></div><div> </div><div>7.  重新部署servletWeb模块，刷新浏览器窗口。</div><div>    <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/javamxj/55036/o_lomboz47.jpg" /></div><div>   OK！成功调用默认字符串。</div></div></div></div><img src ="http://www.blogjava.net/iLxyfOeVEr/aggbug/35944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/iLxyfOeVEr/" target="_blank">iLxyfOreVEr</a> 2006-03-18 15:21 <a href="http://www.blogjava.net/iLxyfOeVEr/archive/2006/03/18/35944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>