<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>neitnaco</title>
    <description>-新手,望多多指教!- </description>
    <link>http://neitnaco.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>为什么要用strust.hibernate.spring</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/177186" style="color:red;">http://neitnaco.javaeye.com/blog/177186</a>&nbsp;
          发表时间: 2008年03月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>UI层:　　　借助struts实现<br /><br />业务层:　　　借助SpringFramework进行业务组件的组装关联。<br /><br />数据持久层：　借助Hibernate实现<br /><br />域对象层　　　将所有域对象划分在一个层面</strong><br />这样分层的原因是什么呢？<br /><br />这个框架都是经过实践和考验的而且使用的人也很多。质量和性能都有保障这与自己写的代码相比。一定是这样比较好。而且利用这些框架可以进行快速开发。<br /><br />层与层之间松藕合，增加代码可得用率。而且分开明确，便于开发。<br /><br />1.1. UI层<br />UI 是User Interface的缩写，这一层是面向用户的界面，是用户与系统之间交互的媒介。如，用户在界面发送请求，系统接收请求，进行处理，然后通过界面将结果呈现于用户。这一过程包括了用户动作、数据传递、界面显示。大家熟悉的MVC模式就是将这三者分离，减少三者耦合。<br /><br />我们在该层借助了Struts来实现：<br /><br />·         用ActionForm类封装与用户互动的数据元素。<br /><br />·         用Action类实现业务逻辑、动作处理、链接转向。实现MVC中的C<br /><br />·         借助Struts标签来完成数据呈现。实现MVC中的V。<br /><br />1.2. 业务层<br />在实际的项目开发中，每个领域都会有自己独特的业务逻辑，正因为这样，致使项目中代码高度耦合，原本有可能被重用的代码或功能，因为与具体的业务逻辑绑定在一块而导致很难被重用。因此我们将实现这些具体逻辑的代码抽取出来分为单独的一层，其目的是希望通过层，来降低它与系统其他部分的耦合度。<br /><br />现实中世界是变化的，既然该层实现的是现实中具体的业务逻辑，那该层的实现代码不可避免的会发生变更。怎样让该层适应最大的变化，做到最小的改动?通常我们在编码的时候会尽量考虑到同一业务多种实现的兼容和可扩展的能力。因此我们在该层借助了Spring，通过依赖注入、AOP应用、面向接口编程，来降低业务组件之间的耦合度，增强系统扩展性。<br /><br />1.3. 数据持久层<br />开发中与数据库进行数据交互必不可少，通常我们归为CRUD（添加、读取、修改、删除），这些操作占据了系统开发中大部分的时间，同时我们还需要考虑与数据库交互的性能问题，如连接池、数据缓存等等。因此该层实现我们借助了Hibernate。<br /><br />Hibernate 是一个ORM工具，它不仅仅是实现了数据库访问性能优化和与数据库交互的常用操作（CRUD），还将数据表与对象进行了关联，让我们可以脱离数据表，而直接针对对象来与数据库交互，我们不再需要用字符串去描述表中字段，不再需要一个个”+“号去组装Sql语句。这使得编码中可书写性提高。<br /><br />1.4. 域对象层<br />该层应该说是ORM思想的产物，ORM用对象关联数据表，我们将这些对象的集合归为一个专门的层即Domain Layer。域对象是各层之间数据通信的载体。实际上域对象也是一个完完全全的业务对象，如User对象、Book对象。通过对业务的对象化，这有利于业务逻辑的重用。<br /><br />Spring整合Hibernate的好处<br /><br />刚刚做了一个实例。首先独立然后Hibernate开发。要做的是建立配制文件，然后生成SessionFactory.现在改成Spring来做。可以直接将DataSource注入至org.springframwork.orm.hibernate3.LocalSessionFactoryBean中，至于Hibernate所需的相关设定则可透过LocalSessionFactoryBean的相关属性来设定，像是设定数据库名称、使用者名称、密码等。LocalSessionFactoryBean会建立SessionFactory的实例，并在执行依赖注入时将这个实例设定给UserDao.<br /><br />Spring还专门定义了一个HibernateTemplate封装了对数据库的增删改查。得到它的方法有两种<br /><br />private HibernateTemplate hibernateTemplate;<br /><br />public void setSessionFactory(SessionFactory sessionFactory){<br /><br />    hibernateTemplate = new HibernateTemplate(sessionFactory);<br /><br />}<br /><br />这种方法是直接得到，Spring另处提供了另处一种更简单的方法<br /><br />extends HibernateDaoSupport<br /><br />这样在程序里面就可以通过HibernateDaoSupport的getHibernateTemplate得到HibernateTemplate实例了。
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/177186#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 28 Mar 2008 11:49:08 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/177186</link>
        <guid>http://neitnaco.javaeye.com/blog/177186</guid>
      </item>
      <item>
        <title>odbc数据库连接池的问题</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/170752" style="color:red;">http://neitnaco.javaeye.com/blog/170752</a>&nbsp;
          发表时间: 2008年03月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          利用java的odbc驱动程序写一个连接池，用来限制当前访问数据库的用户和提高访问数据库的效率问题。我本身已经写好嘞一个的，但是在效率上我不知道我的设计思路是不是最效率的方式。所以还请有这方面的经验的朋友留下你们的思路。谢谢哟！
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/170752#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 13 Mar 2008 10:43:34 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/170752</link>
        <guid>http://neitnaco.javaeye.com/blog/170752</guid>
      </item>
      <item>
        <title>jdom解析XML文件怪怪的问题</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/149118" style="color:red;">http://neitnaco.javaeye.com/blog/149118</a>&nbsp;
          发表时间: 2007年12月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          先贴出代码出来看看.<br />首先是一个Folders.xml文件:<br /><pre name="code" class="java">
&lt;?xml version="1.0" encoding="gbk"?>
&lt;Folders>
&lt;Folder stepid="5" beginEid="1.0.0." endEid="8.0.0." folderId="88" folderName="文件夹一" />
&lt;Folder stepid="5" beginEid="8.0.0." endEid="20.0.0." folderId="89" folderName="文件夹二" />
&lt;/Folders>
</pre><br />一下是解析XML文件的类.采用jdom解析.然后封装到一个Bean对象中.最后返回一个ArrayList集合.集合里面是一个个Bean对象.  XmlConfig.Java<br /><pre name="code" class="java">
package JdBudget.OuterWeb.Config;

import java.util.*;
import java.io.*;
import JdBudget.OuterWeb.bean.*;
import JdBudget.OuterWeb.bean.Folder;

import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.*;

/**
 * 操作xml的配置文件
 * ItemId是报表文件Id号,Variant是报表参数(不包括公用参数)
 * &lt;p>Title: &lt;/p>
 * &lt;p>Description: &lt;/p>
 * &lt;p>Copyright: Copyright (c) 2006&lt;/p>
 * &lt;p>Company: &lt;/p>
 * @author not attributable
 * @version 1.0
 */
public class XmlConfig {
  
  public XmlConfig(){}
  ArrayList dataList = null;
  //解析Folders.xml
  public ArrayList getFoldersInfo(String path) {
    dataList = new ArrayList();
    Folder dataValue = null;
    try {

      SAXBuilder builder = new SAXBuilder(false);
      Document read_doc = builder.build(new FileInputStream(path));
      Element root = read_doc.getRootElement();
      List Folders = root.getChildren("Folder");
      for (int i = 0; i &lt; Folders.size(); i++) {
        Element e = (Element) Folders.get(i);
        dataValue = new Folder();
        dataValue.setFolderId(e.getAttributeValue("folderId"));
        dataValue.setEndEid(e.getAttributeValue("endEid"));
        dataValue.setBeginEid(e.getAttributeValue("beginEid"));
        dataValue.setStepid(e.getAttributeValue("stepid"));

        System.out.println(e.getAttributeValue("folderId"));
        System.out.println(e.getAttributeValue("folderName"));
        System.out.println(e.getAttributeValue("endEid"));
        System.out.println(e.getAttributeValue("beginEid"));
        System.out.println(e.getAttributeValue("stepid"));


        dataList.add(dataValue);
      }
    }
    catch (Exception dom) {
      System.out.println("getFoldersInfo Err" + dom.toString());
    }
    return dataList;

  }

  //解析Reports.xml
  public ArrayList getReportsInfo(String path) {
    dataList = new ArrayList();
    Report dataValue = null;
    try {
      SAXBuilder builder = new SAXBuilder(false);
      Document read_doc = builder.build(new FileInputStream(path));
      Element root = read_doc.getRootElement();
      List Reports = root.getChildren("Report");
      for (int i = 0; i &lt; Reports.size(); i++) {
        Element e = (Element) Reports.get(i);
        dataValue = new Report();
        dataValue.setItemId(e.getAttributeValue("ItemId"));
        dataValue.setVariant(e.getAttributeValue("Variant"));
        dataValue.setType(e.getAttributeValue("Type"));
        dataList.add(dataValue);
      }
    }
    catch (Exception dom) {
      System.out.println("getReportsInfo Err" + dom.toString());
    }
    return dataList;

  }

  public static void main(String[] args){
    XmlConfig xmlconfig = new XmlConfig();
  File f = new File("");
  ArrayList list = new ArrayList();
  list = xmlconfig.getFoldersInfo(f.getAbsolutePath()+f.separator+"MultiReport"+f.separator+"config"+f.separator+"Folders.xml");

  }
}

</pre><br /><br />我用XmlConfig.java文件中的main方法测试,能得到争取得解析结果 .<br />如:<br /><pre name="code" class="java">
88

文件夹一

8.0.0.

1.0.0.

5

89

文件夹二

20.0.0.

8.0.0.

5


</pre><br /><br />但是当我在createreport.jsp里面调用执行<br /><pre name="code" class="java">
XmlConfig xConfig = new XmlConfig();
</pre><br />时程序就已经报错误.<br />错误描述如下:<br /><pre name="code" class="java">
D:\JBuilderX\jdk1.4\bin\javaw -classpath "D:\JBuilderX\thirdparty\jakarta-tomcat-4.0.6-LE-jdk14\bin\bootstrap.jar;D:\JBuilderX\jdk1.4\lib\tools.jar"  -Dcatalina.home="D:/JBuilderX/thirdparty/jakarta-tomcat-4.0.6-LE-jdk14"  org.apache.catalina.startup.Bootstrap -config E:\work\BatchPrint\MultiReport\Tomcat\conf\server8083.xml start 
HttpConnector Opening server socket on all host IP addresses

Starting service Tomcat-Standalone

Apache Tomcat/4.0.6

WebappLoader[/MultiReport]: Deploying class repositories to work directory E:\work\BatchPrint\MultiReport\Tomcat\work\MultiReport

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/activation.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\activation.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/axis-ant.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\axis-ant.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/axis.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\axis.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/classes12.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\classes12.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/commons-discovery.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\commons-discovery.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/commons-logging.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\commons-logging.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/jaxrpc.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\jaxrpc.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/junit.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\junit.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/log4j-1.2.8.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\log4j-1.2.8.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/mail.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\mail.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/saaj.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\saaj.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/unittest.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\unittest.jar

WebappLoader[/MultiReport]: Deploy JAR /WEB-INF/lib/wsdl4j.jar to E:\work\BatchPrint\MultiReport\MultiReport\WEB-INF\lib\wsdl4j.jar

WebappLoader[/MultiReport]: Reloading checks are enabled for this Context

StandardManager[/MultiReport]: Seeding random number generator class java.security.SecureRandom

StandardManager[/MultiReport]: Seeding of random number generator has been completed

ContextConfig[/MultiReport]: Added certificates -> request attribute Valve

StandardWrapper[/MultiReport:default]: Loading container servlet default

StandardWrapper[/MultiReport:invoker]: Loading container servlet invoker

HttpConnector[8083] Starting background thread

eid:3.

StandardWrapperValve[debugjsp]: Servlet.service() for servlet debugjsp threw exception

javax.servlet.ServletException: org/jdom/input/SAXBuilder

javax.servlet.ServletException: org/jdom/input/SAXBuilder

	at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)

	at org.apache.jsp.createreport$jsp._jspService(createreport$jsp.java:400)

	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)

	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

	at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)

	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)

	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)

	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)

	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)

	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

	at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)

	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)

	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)

	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

	at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)

	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)

	at java.lang.Thread.run(Thread.java:534)


</pre><br /><br /><br />在 main函数里面执行都可以返回正确得结果.现在怎么只是实例化XmlConfig类就报错误呢....<br />网上看到说时jdom的版本问题.我也在webspere的安装目录下面找到了103k的jdom包替换了原来143K的jdom安装包.现在问题仍然存在 ..<br />请看下,分析下..!<br />小弟很急..<br />谢谢..
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/149118#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 18 Dec 2007 14:18:26 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/149118</link>
        <guid>http://neitnaco.javaeye.com/blog/149118</guid>
      </item>
      <item>
        <title>谁能提供个产生GUID的JAVA类</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/142226" style="color:red;">http://neitnaco.javaeye.com/blog/142226</a>&nbsp;
          发表时间: 2007年11月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<p>有没有谁能给我个产生GUID的java类呢?</p>
<p>谢谢大家!</p>
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/142226#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 Nov 2007 10:15:22 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/142226</link>
        <guid>http://neitnaco.javaeye.com/blog/142226</guid>
      </item>
      <item>
        <title>一个关于6级层次比较的问题</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/139767" style="color:red;">http://neitnaco.javaeye.com/blog/139767</a>&nbsp;
          发表时间: 2007年11月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>本文中所涉及到的ID的结构都相同(EID='1.1.1.1.' 即ID1=1,ID2=1,ID3=1,ID4=1,ID5=0,ID6=0).总共只分6层.</p>
<p>现在我有一些单位.比如EID：1.1.1.1</p>
<p>我在一个xml文件中配置开始,截止ID(begineid,endeid).</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>&lt;Folders&gt; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&lt;Folder&nbsp;beginEid=</span><span class="string">&quot;1.0.&quot;</span><span>&nbsp;&nbsp;endEid=</span><span class="string">&quot;19.1.&quot;</span><span>&nbsp;folderId=</span><span class="string">&quot;29&quot;</span><span>&nbsp;folderName=</span><span class="string">&quot;aa&quot;</span><span>/&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;Folder&nbsp;beginEid=</span><span class="string">&quot;20.0.&quot;</span><span>&nbsp;&nbsp;endEid=</span><span class="string">&quot;66.2.&quot;</span><span>&nbsp;folderId=</span><span class="string">&quot;30&quot;</span><span>&nbsp;folderName=</span><span class="string">&quot;bb&quot;</span><span>/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&lt;/Folders&gt; &nbsp;&nbsp;</span></li>
</ol>
</div>
<p>然后我写个判断某个单位是否在这个begineid&lt;EID&lt;=endid...</p>
<p>首先比较一级id.然后是二级id.就这样一直比下去.</p>
<p>最终确定这个EID是否在上面XML文件配置的某个范围里面.</p>
<p>请问这个比较的方法该如何写呢.</p>
<p>我想了好久.如果想让程序灵活的话实现起来估计会很麻烦!</p>
<p>所以想贴出来让想想办法!</p>
<p>不明白的地方可以直接发到我的邮箱里(<a href="mailto:myc-olympic@163.com">myc-olympic@163.com</a>)</p>
<p>或者QQ:403138921</p>
<p>或者MSN:<a href="mailto:myc-olympic@163.com">myc-olympic@163.com</a></p>
<p>偶先谢谢拉!各位!</p>
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/139767#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 11 Nov 2007 17:11:09 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/139767</link>
        <guid>http://neitnaco.javaeye.com/blog/139767</guid>
      </item>
      <item>
        <title>如何再struts中提交之后的空白页面现实一个提示等待的功能</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/138310" style="color:red;">http://neitnaco.javaeye.com/blog/138310</a>&nbsp;
          发表时间: 2007年11月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>本人写了一个存储过程.再struts的action中调用dao中的方法执行存储过程.</p>
<p>现在执行该存储过程大概花费时间在10-20分钟左右.</p>
<p>所以想在struts提交处理该方法的同时让struts本身的空白页面显示一张图片或者什么其他的等待画面..当该方法执行完毕之后该等待页面又可以消失.</p>
<p>nzjz.jsp</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span><center>&nbsp;&nbsp;</center>&nbsp;&nbsp;</span></span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>确认结转总会计帐套<!--ea-->年会计科目余额到<!--ear+</span><span class="number">1</span><span-->年年初数中吗?</strong><br />
    <br />
    &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;nzjz.do?method=zkjnzjz&quot;</span><span>&nbsp;onclick=</span><span class="string">&quot;javascript:{return&nbsp;ask();}&quot;</span><span>&gt; &nbsp;&nbsp;</span> </span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;年终结转&quot;</span><span>&nbsp;src=</span><span class="string">&quot;/xzkj/image/nzjz.gif&quot;</span><span>&nbsp;border=</span><span class="string">&quot;0&quot;</span><span>&gt; &nbsp;&nbsp;</span> </span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> </li>
</ol>
</div>
<p>nzjzAction.java</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;ActionForward&nbsp;zkjnzjz(ActionMapping&nbsp;actionMapping, &nbsp;&nbsp;</span></span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActionForm&nbsp;actionForm, &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletRequest&nbsp;httpServletRequest, &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletResponse&nbsp;httpServletResponse)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;nzjzBean&nbsp;nb&nbsp;=&nbsp;(nzjzBean)&nbsp;actionForm; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;SessionInfo&nbsp;si&nbsp;=&nbsp;(SessionInfo)&nbsp;httpServletRequest.getSession().getAttribute( &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;sessionBean&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;msg&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;eid&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;list&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;ArrayList(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;bol&nbsp;=&nbsp;</span><span class="keyword">false</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">double</span><span>&nbsp;dou&nbsp;=&nbsp;</span><span class="number">0.00</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span>&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dou&nbsp;=&nbsp;nd.getFJZKM_YUE(si); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//if&nbsp;(dou&nbsp;!=&nbsp;0.00)&nbsp;{ </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;target=&quot;failed&quot;; </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;msg&nbsp;=&nbsp;&quot;非结转会计科目存在余额,请先内转!&quot;; </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;} </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;else&nbsp;{ </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bol&nbsp;=&nbsp;nd.nzjz_ZKJ(si); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(bol)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target=</span><span class="string">&quot;success&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg&nbsp;=&nbsp;</span><span class="string">&quot;年终结转成功!&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">else</span><span>&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target=</span><span class="string">&quot;failed&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg&nbsp;=&nbsp;</span><span class="string">&quot;数据库连接错误!&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;} </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">catch</span><span>&nbsp;(FiscalException&nbsp;ex)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;httpServletRequest.getSession().setAttribute(</span><span class="string">&quot;msg&quot;</span><span>,&nbsp;msg); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;actionMapping.findForward(target); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
</ol>
</div>
<p>&nbsp;</p>
<p>struts-config.xml</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span><span class="string">&quot;nzjzBean&quot;</span><span>&nbsp;type=</span><span class="string">&quot;com.datanew.maintain.nzjz.bean.nzjzBean&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></span> </span></li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span><span class="string">&quot;/report/commReport/sumItemout&quot;</span><span>&nbsp;scope=</span><span class="string">&quot;request&quot;</span><span>&nbsp;type=</span><span class="string">&quot;com.datanew.report.commReport.action.SumItemout&quot;</span><span>&gt; &nbsp;&nbsp;</span> </span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;success&quot;</span><span>&nbsp;path=</span><span class="string">&quot;/report/commReport/sumItemout.jsp&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span> </span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> </li>
</ol>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>部分代码贴出来了.希望大家帮我想想办法啊..</p>
<p>想个 简单点的又能让用户满意接受同时对于以后维护起来还方便点的方法..谢谢诸位呀...</p>
<p>比如说当struts的action提交请求之后在处理业务逻辑的时候同时显示另外一个页面.而该页面显示一张动态的图片.如&quot;请稍等....&quot;.当过程执行完成之后又会执行struts的forward中配置.跳转到成功或者失败页面..</p>
<p>不会实现...望大家.看在我贴代码贴得这么辛苦的份上也要帮滴啊..</p>
<p>或者直接邮箱或者msn联系..都是同一个地址[myc-olympic@163.com].</p>
<p>谢谢拉..</p>
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/138310#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 06 Nov 2007 10:31:00 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/138310</link>
        <guid>http://neitnaco.javaeye.com/blog/138310</guid>
      </item>
      <item>
        <title>一个存储过程[insert into ... select * from ...]执行报错误</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/137538" style="color:red;">http://neitnaco.javaeye.com/blog/137538</a>&nbsp;
          发表时间: 2007年11月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title">sql 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-sql">
    <li class="alt"><span><span class="keyword">create</span><span>&nbsp;</span><span class="op">or</span><span>&nbsp;</span><span class="func">replace</span><span>&nbsp;</span><span class="keyword">procedure</span><span>&nbsp;GETREMAIN_JSZX1( &nbsp;&nbsp;</span></span></li>
    <li class=""><span>P_SETID&nbsp;</span><span class="op">IN</span><span>&nbsp;NUMBER,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">--帐套 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>P_YEAR&nbsp;</span><span class="op">IN</span><span>&nbsp;NUMBER,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">--年度 </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>P_MONTH&nbsp;</span><span class="op">IN</span><span>&nbsp;NUMBER,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">--月份 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>P_UNITID&nbsp;</span><span class="op">IN</span><span>&nbsp;VARCHAR2,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">--乡镇编号 </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>P_EID&nbsp;</span><span class="op">IN</span><span>&nbsp;Varchar2,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">--单位 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>P_SID&nbsp;</span><span class="op">IN</span><span>&nbsp;Varchar2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">--会计科目 </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">Is</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>PA_YEAR&nbsp;NUMBER; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">Begin</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>PA_YEAR&nbsp;:=&nbsp;P_YEAR+1; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>If&nbsp;P_SID='1'&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">INSERT</span><span>&nbsp;</span><span class="keyword">INTO</span><span>&nbsp;REMAIN&nbsp;( &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,PA_YEAR&nbsp;</span><span class="keyword">AS</span><span>&nbsp;</span><span class="func">YEAR</span><span>,UNITID, &nbsp;&nbsp;</span></li>
    <li class=""><span>SEQ_REMAIN_ID.NEXTVAL&nbsp;</span><span class="keyword">AS</span><span>&nbsp;ID, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>SID,P_EID&nbsp;</span><span class="keyword">AS</span><span>&nbsp;EID,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BID, &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;IID,BAL00,0&nbsp;</span><span class="keyword">AS</span><span>&nbsp;ISPLAN,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;ENAME,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BNAME,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;INAME &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">From</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>( &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,</span><span class="func">YEAR</span><span>,UNITID, &nbsp;&nbsp;</span></li>
    <li class=""><span>PID,SID,</span><span class="keyword">NAME</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;SNAME,DEBCRE,ISLEAF,NVL(BAL00+(DEBMONEY_TOT-CREMONEY_TOT)*DEBCRE,0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BAL00 &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">FROM</span><span>( &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,</span><span class="func">YEAR</span><span>,UNITID,SID,</span><span class="keyword">NAME</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>,(</span><span class="func">CASE</span><span>&nbsp;</span><span class="keyword">WHEN</span><span>&nbsp;DEBCRE='1'&nbsp;</span><span class="keyword">THEN</span><span>&nbsp;1&nbsp;</span><span class="keyword">ELSE</span><span>&nbsp;-1&nbsp;</span><span class="keyword">END</span><span>)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;DEBCRE &nbsp;&nbsp;</span></li>
    <li class=""><span>,ISLEAF,PID &nbsp;&nbsp;</span></li>
    <li class="alt"><span>,NVL(COUNTLEDGER('1','2','1',P_UNITID,P_SETID,P_YEAR,P_MONTH,TRIM(SID),TRIM(P_EID),TRIM(</span><span class="string">''</span><span>),TRIM(</span><span class="string">''</span><span>)),0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;DEBMONEY_TOT &nbsp;&nbsp;</span></li>
    <li class=""><span>,NVL(COUNTLEDGER('1','2','2',P_UNITID,P_SETID,P_YEAR,P_MONTH,TRIM(SID),TRIM(P_EID),TRIM(</span><span class="string">''</span><span>),TRIM(</span><span class="string">''</span><span>)),0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;CREMONEY_TOT &nbsp;&nbsp;</span></li>
    <li class="alt"><span>,NVL(COUNTREMAIN(P_UNITID,P_SETID,P_YEAR,TRIM(SID),P_EID,TRIM(</span><span class="string">''</span><span>),TRIM(</span><span class="string">''</span><span>)),0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BAL00 &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">FROM</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>( &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,</span><span class="func">YEAR</span><span>,UNITID,SID,</span><span class="keyword">NAME</span><span>,DEBCRE,ISLEAF,PID &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">FROM</span><span>&nbsp;ACCOUNTSECTIONS &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">WHERE</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>SID&lt;&gt;'0.'&nbsp;</span><span class="op">AND</span><span>&nbsp;&nbsp;UNITID=P_UNITID&nbsp;</span><span class="op">AND</span><span>&nbsp;SETID=P_SETID&nbsp;</span><span class="op">AND</span><span>&nbsp;</span><span class="func">YEAR</span><span>=P_YEAR &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="op">And</span><span>&nbsp;SID&nbsp;</span><span class="op">Like</span><span>&nbsp;'1%' &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="op">AND</span><span>&nbsp;ISLEAF=1&nbsp;</span><span class="op">AND</span><span>&nbsp;ENABLED=1 &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">ORDER</span><span>&nbsp;</span><span class="keyword">BY</span><span>&nbsp;ID1,ID2,ID3,ID4,ID5,ID6 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>)&nbsp;</span><span class="keyword">where</span><span>&nbsp;BAL00&lt;&gt;0 &nbsp;&nbsp;</span></li>
    <li class=""><span>); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>Elsif&nbsp;P_SID&nbsp;=&nbsp;'1,2'&nbsp;</span><span class="keyword">Then</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">INSERT</span><span>&nbsp;</span><span class="keyword">INTO</span><span>&nbsp;REMAIN&nbsp;( &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,PA_YEAR&nbsp;</span><span class="keyword">AS</span><span>&nbsp;</span><span class="func">YEAR</span><span>,UNITID, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>SEQ_REMAIN_ID.NEXTVAL&nbsp;</span><span class="keyword">AS</span><span>&nbsp;ID, &nbsp;&nbsp;</span></li>
    <li class=""><span>SID,P_EID&nbsp;</span><span class="keyword">AS</span><span>&nbsp;EID,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BID, &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;IID,BAL00,0&nbsp;</span><span class="keyword">AS</span><span>&nbsp;ISPLAN,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;ENAME,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BNAME,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;INAME &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">From</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>( &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,</span><span class="func">YEAR</span><span>,UNITID, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>PID,SID,</span><span class="keyword">NAME</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;SNAME,DEBCRE,ISLEAF,NVL(BAL00+(DEBMONEY_TOT-CREMONEY_TOT)*DEBCRE,0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BAL00 &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">FROM</span><span>( &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,</span><span class="func">YEAR</span><span>,UNITID,SID,</span><span class="keyword">NAME</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>,(</span><span class="func">CASE</span><span>&nbsp;</span><span class="keyword">WHEN</span><span>&nbsp;DEBCRE='1'&nbsp;</span><span class="keyword">THEN</span><span>&nbsp;1&nbsp;</span><span class="keyword">ELSE</span><span>&nbsp;-1&nbsp;</span><span class="keyword">END</span><span>)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;DEBCRE &nbsp;&nbsp;</span></li>
    <li class="alt"><span>,ISLEAF,PID &nbsp;&nbsp;</span></li>
    <li class=""><span>,NVL(COUNTLEDGER('1','2','1',P_UNITID,P_SETID,P_YEAR,P_MONTH,TRIM(SID),TRIM(P_EID),TRIM(</span><span class="string">''</span><span>),TRIM(</span><span class="string">''</span><span>)),0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;DEBMONEY_TOT &nbsp;&nbsp;</span></li>
    <li class="alt"><span>,NVL(COUNTLEDGER('1','2','2',P_UNITID,P_SETID,P_YEAR,P_MONTH,TRIM(SID),TRIM(P_EID),TRIM(</span><span class="string">''</span><span>),TRIM(</span><span class="string">''</span><span>)),0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;CREMONEY_TOT &nbsp;&nbsp;</span></li>
    <li class=""><span>,NVL(COUNTREMAIN(P_UNITID,P_SETID,P_YEAR,TRIM(SID),P_EID,TRIM(</span><span class="string">''</span><span>),TRIM(</span><span class="string">''</span><span>)),0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BAL00 &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">FROM</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>( &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,</span><span class="func">YEAR</span><span>,UNITID,SID,</span><span class="keyword">NAME</span><span>,DEBCRE,ISLEAF,PID &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">FROM</span><span>&nbsp;ACCOUNTSECTIONS &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">WHERE</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>SID&lt;&gt;'0.'&nbsp;</span><span class="op">AND</span><span>&nbsp;&nbsp;UNITID=P_UNITID&nbsp;</span><span class="op">AND</span><span>&nbsp;SETID=P_SETID&nbsp;</span><span class="op">AND</span><span>&nbsp;</span><span class="func">YEAR</span><span>=P_YEAR &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="op">And</span><span>&nbsp;(SID&nbsp;</span><span class="op">Like</span><span>&nbsp;'1%'&nbsp;</span><span class="op">OR</span><span>&nbsp;SID&nbsp;</span><span class="op">LIKE</span><span>&nbsp;'2%') &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="op">AND</span><span>&nbsp;ISLEAF=1&nbsp;</span><span class="op">AND</span><span>&nbsp;ENABLED=1 &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">ORDER</span><span>&nbsp;</span><span class="keyword">BY</span><span>&nbsp;ID1,ID2,ID3,ID4,ID5,ID6 &nbsp;&nbsp;</span></li>
    <li class=""><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>)&nbsp;</span><span class="keyword">where</span><span>&nbsp;BAL00&lt;&gt;0 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>Elsif&nbsp;P_SID&nbsp;=&nbsp;'1,2,3'&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">INSERT</span><span>&nbsp;</span><span class="keyword">INTO</span><span>&nbsp;REMAIN &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>(SETID,</span><span class="func">Year</span><span>,UNITID,ID,SID,EID,BID,IID,BAL00,ISPLAN,ENAME,BNAME,INAME) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;( &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,PA_YEAR&nbsp;</span><span class="keyword">AS</span><span>&nbsp;</span><span class="func">YEAR</span><span>,UNITID, &nbsp;&nbsp;</span></li>
    <li class=""><span>SEQ_REMAIN_ID.NEXTVAL&nbsp;</span><span class="keyword">AS</span><span>&nbsp;ID, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>SID,P_EID&nbsp;</span><span class="keyword">AS</span><span>&nbsp;EID,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BID, &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;IID,BAL00,0&nbsp;</span><span class="keyword">AS</span><span>&nbsp;ISPLAN,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;ENAME,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BNAME,</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;INAME &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">From</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>( &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,</span><span class="func">YEAR</span><span>,UNITID, &nbsp;&nbsp;</span></li>
    <li class=""><span>PID,SID,</span><span class="keyword">NAME</span><span>&nbsp;</span><span class="keyword">AS</span><span>&nbsp;SNAME,DEBCRE,ISLEAF,NVL(BAL00+(DEBMONEY_TOT-CREMONEY_TOT)*DEBCRE,0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BAL00 &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">FROM</span><span>( &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,</span><span class="func">YEAR</span><span>,UNITID,SID,</span><span class="keyword">NAME</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>,(</span><span class="func">CASE</span><span>&nbsp;</span><span class="keyword">WHEN</span><span>&nbsp;DEBCRE='1'&nbsp;</span><span class="keyword">THEN</span><span>&nbsp;1&nbsp;</span><span class="keyword">ELSE</span><span>&nbsp;-1&nbsp;</span><span class="keyword">END</span><span>)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;DEBCRE &nbsp;&nbsp;</span></li>
    <li class=""><span>,ISLEAF,PID &nbsp;&nbsp;</span></li>
    <li class="alt"><span>,NVL(COUNTLEDGER('1','2','1',P_UNITID,P_SETID,P_YEAR,P_MONTH,TRIM(SID),TRIM(P_EID),TRIM(</span><span class="string">''</span><span>),TRIM(</span><span class="string">''</span><span>)),0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;DEBMONEY_TOT &nbsp;&nbsp;</span></li>
    <li class=""><span>,NVL(COUNTLEDGER('1','2','2',P_UNITID,P_SETID,P_YEAR,P_MONTH,TRIM(SID),TRIM(P_EID),TRIM(</span><span class="string">''</span><span>),TRIM(</span><span class="string">''</span><span>)),0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;CREMONEY_TOT &nbsp;&nbsp;</span></li>
    <li class="alt"><span>,NVL(COUNTREMAIN(P_UNITID,P_SETID,P_YEAR,TRIM(SID),P_EID,TRIM(</span><span class="string">''</span><span>),TRIM(</span><span class="string">''</span><span>)),0)&nbsp;</span><span class="keyword">AS</span><span>&nbsp;BAL00 &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">FROM</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>( &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">SELECT</span><span>&nbsp;SETID,</span><span class="func">YEAR</span><span>,UNITID,SID,</span><span class="keyword">NAME</span><span>,DEBCRE,ISLEAF,PID &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">FROM</span><span>&nbsp;ACCOUNTSECTIONS &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">WHERE</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>SID&lt;&gt;'0.'&nbsp;</span><span class="op">AND</span><span>&nbsp;&nbsp;UNITID=P_UNITID&nbsp;</span><span class="op">AND</span><span>&nbsp;SETID=P_SETID&nbsp;</span><span class="op">AND</span><span>&nbsp;</span><span class="func">YEAR</span><span>=P_YEAR &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="op">And</span><span>&nbsp;(SID&nbsp;</span><span class="op">Like</span><span>&nbsp;'1%'&nbsp;</span><span class="op">OR</span><span>&nbsp;SID&nbsp;</span><span class="op">LIKE</span><span>&nbsp;'2%'&nbsp;</span><span class="op">OR</span><span>&nbsp;SID&nbsp;</span><span class="op">LIKE</span><span>&nbsp;'3%') &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="op">AND</span><span>&nbsp;ISLEAF=1&nbsp;</span><span class="op">AND</span><span>&nbsp;ENABLED=1 &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">ORDER</span><span>&nbsp;</span><span class="keyword">BY</span><span>&nbsp;ID1,ID2,ID3,ID4,ID5,ID6 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>)&nbsp;</span><span class="keyword">where</span><span>&nbsp;BAL00&lt;&gt;0 &nbsp;&nbsp;</span></li>
    <li class=""><span>); &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">commit</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">End</span><span>&nbsp;If; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">end</span><span>&nbsp;GETREMAIN_JSZX1; &nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>我在</p>
<p><font face="Arial">exec Getremain_Jszx1(2,2007,12,'1004','100.','1,2,3');</font></p>
<p>报错误..</p>
<p>错误信息为:</p>
<font face="Arial">
<div class="code_title">sql 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-sql">
    <li class="alt"><span><span>ORA-04091:&nbsp;表&nbsp;XZKJ.REMAIN&nbsp;发生了变化，触发器/函数不能读 &nbsp;&nbsp;</span></span></li>
    <li class=""><span>ORA-06512:&nbsp;在</span><span class="string">&quot;XZKJ.COUNTREMAIN&quot;</span><span>,&nbsp;line&nbsp;37 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>ORA-06512:&nbsp;在</span><span class="string">&quot;XZKJ.GETREMAIN_JSZX1&quot;</span><span>,&nbsp;line&nbsp;85 &nbsp;&nbsp;</span></li>
    <li class=""><span>ORA-06512:&nbsp;在line&nbsp;1&nbsp;&nbsp;</span></li>
</ol>
</div>
</font>
<p>但是我把存储过程里面的sql语句拿出来将参数替换成值执行了一下.又可以正常运行..</p>
<p>是什么原因呢?</p>
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/137538#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 02 Nov 2007 11:32:17 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/137538</link>
        <guid>http://neitnaco.javaeye.com/blog/137538</guid>
      </item>
      <item>
        <title>JBuilder编译和运行都没问题,就DEBUG的时候出问题.</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/137384" style="color:red;">http://neitnaco.javaeye.com/blog/137384</a>&nbsp;
          发表时间: 2007年11月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>--&nbsp;Cannot&nbsp;start&nbsp;Java&nbsp;debug&nbsp;process&nbsp;VM&nbsp;-- &nbsp;&nbsp;</span></span></li>
    <li class=""><span>com.sun.jdi.connect.VMStartException:&nbsp;VM&nbsp;initialization&nbsp;failed&nbsp;</span><span class="keyword">for</span><span>:&nbsp;C:\j2sdk-1_4_2_15\bin\javaw&nbsp;-classpath&nbsp;</span><span class="string">&quot;C:\JBuilderX\thirdparty\jakarta-tomcat-4.0.6-LE-jdk14\bin\bootstrap.jar;C:\j2sdk-1_4_2_15\lib\tools.jar&quot;</span><span>&nbsp;&nbsp;-Dcatalina.home=</span><span class="string">&quot;C:/JBuilderX/thirdparty/jakarta-tomcat-4.0.6-LE-jdk14&quot;</span><span>&nbsp;&nbsp;-Xdebug&nbsp;-Xnoagent&nbsp;-Djava.compiler=NONE&nbsp;-Xrunjdwp:transport=dt_socket,address=neitnaco:</span><span class="number">2907</span><span>,suspend=y&nbsp;org.apache.catalina.startup.Bootstrap&nbsp;-config&nbsp;D:\work\xzkj\source\xzkj\Tomcat\conf\server8080.xml&nbsp;start&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>Transport&nbsp;dt_socket&nbsp;failed&nbsp;to&nbsp;initialize,&nbsp;rc&nbsp;=&nbsp;</span><span class="number">509</span><span>.&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>..当我编译和运行一个工程的时候都是好好的.每当我DEBUG的时候就出现这个问题..烦恼..</p>
<p>望一二...</p>
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/137384#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 01 Nov 2007 16:30:47 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/137384</link>
        <guid>http://neitnaco.javaeye.com/blog/137384</guid>
      </item>
      <item>
        <title>Hibernate3报空指针错误.&lt;急&gt;</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/135634" style="color:red;">http://neitnaco.javaeye.com/blog/135634</a>&nbsp;
          发表时间: 2007年10月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">package</span><span>&nbsp;com.dn.dao; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;java.util.Collection; &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;java.util.List; &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;java.util.ArrayList; &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;org.hibernate.Criteria; &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;org.hibernate.Query; &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;org.hibernate.Session; &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;org.springframework.orm.hibernate3.support.HibernateDaoSupport; &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;org.springframework.orm.hibernate3.SessionFactoryUtils; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;BaseDAO&nbsp;</span><span class="keyword">extends</span><span>&nbsp;HibernateDaoSupport&nbsp;</span><span class="keyword">implements</span><span>&nbsp;IBaseDAO&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;create(Object&nbsp;entity)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span>&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">super</span><span>.getHibernateTemplate().save(entity); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="keyword">catch</span><span>&nbsp;(Exception&nbsp;e)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;Session&nbsp;openSession()&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;SessionFactoryUtils.getSession(</span><span class="keyword">super</span><span>.getHibernateTemplate().getSessionFactory(),</span><span class="keyword">false</span><span>); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;Query&nbsp;getQuery(String&nbsp;sql)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Session&nbsp;session&nbsp;=&nbsp;</span><span class="keyword">this</span><span>.openSession(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;session.createQuery(sql); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;Criteria&nbsp;getCriteria(Class&nbsp;clazz)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Session&nbsp;session&nbsp;=&nbsp;</span><span class="keyword">this</span><span>.getSession(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;session.createCriteria(clazz); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;update(Object&nbsp;entity)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span>&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">super</span><span>.getHibernateTemplate().update(entity); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="keyword">catch</span><span>&nbsp;(Exception&nbsp;e)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;delete(Object&nbsp;entity)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span>&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">super</span><span>.getHibernateTemplate().delete(entity); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="keyword">catch</span><span>&nbsp;(Exception&nbsp;e)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;deleteAll(Class&nbsp;clazz)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;TODO&nbsp;自动生成方法存根 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;deleteAll(Collection&nbsp;entities)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;TODO&nbsp;自动生成方法存根 </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;List&nbsp;LoadAll(Class&nbsp;clazz)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;TODO&nbsp;自动生成方法存根 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">null</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;Object&nbsp;loadByKey(Class&nbsp;clazz,&nbsp;String&nbsp;keyName,&nbsp;Object&nbsp;keyValue)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;TODO&nbsp;自动生成方法存根 </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">null</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;Object&nbsp;getByPk(Class&nbsp;clazz,&nbsp;Integer&nbsp;id)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;(Object)</span><span class="keyword">super</span><span>.getHibernateTemplate().get(clazz,id); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;List&nbsp;find(String&nbsp;queryString)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;list&nbsp;=&nbsp;</span><span class="keyword">null</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span>&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;=</span><span class="keyword">super</span><span>.getHibernateTemplate().find(queryString); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;list; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="keyword">catch</span><span>&nbsp;(Exception&nbsp;e)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;list; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;List&nbsp;find(String&nbsp;queryString,&nbsp;Object&nbsp;param)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;list&nbsp;=&nbsp;</span><span class="keyword">null</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span>&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;=&nbsp;</span><span class="keyword">super</span><span>.getHibernateTemplate().find(queryString,param); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;list; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="keyword">catch</span><span>&nbsp;(Exception&nbsp;e)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;list; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;List&nbsp;find(String&nbsp;queryString,&nbsp;Object[]&nbsp;params)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;list&nbsp;=&nbsp;</span><span class="keyword">null</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span>&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;=&nbsp;</span><span class="keyword">super</span><span>.getHibernateTemplate().find(queryString,params); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;list; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="keyword">catch</span><span>&nbsp;(Exception&nbsp;e)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;buffer&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;StringBuffer(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>(</span><span class="keyword">int</span><span>&nbsp;i=</span><span class="number">0</span><span>;i&lt;params.length;i++){ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer.append(params[i]); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer.append(</span><span class="string">&quot;&nbsp;&quot;</span><span>); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;list; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;args </span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;main(String[]&nbsp;args)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BaseDAO&nbsp;bd&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;BaseDAO(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;list&nbsp;=&nbsp;bd.find(</span><span class="string">&quot;select&nbsp;l.name&nbsp;from&nbsp;Login&nbsp;as&nbsp;l&quot;</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(list.size()); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>} &nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>我只是测试执行main函数就报错误&gt;&gt;&gt;</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>Exception&nbsp;in&nbsp;thread&nbsp;</span><span class="string">&quot;main&quot;</span><span>&nbsp;java.lang.NullPointerException &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.dn.dao.BaseDAO.main(BaseDAO.java:</span><span class="number">122</span><span>) &nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>不知道该怎么解决啊..请大家..本人刚用hibernate时间不是蛮长..</p>
<p>谢谢..</p>
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/135634#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 26 Oct 2007 10:17:17 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/135634</link>
        <guid>http://neitnaco.javaeye.com/blog/135634</guid>
      </item>
      <item>
        <title>struts+spring+hibernate架构下报No WebApplicationContext found</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/131693" style="color:red;">http://neitnaco.javaeye.com/blog/131693</a>&nbsp;
          发表时间: 2007年10月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial">错误原因：我看不懂...</font></p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>type&nbsp;Exception&nbsp;report &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>message&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>description&nbsp;The&nbsp;server&nbsp;encountered&nbsp;an&nbsp;internal&nbsp;error&nbsp;()&nbsp;that&nbsp;prevented&nbsp;it&nbsp;from&nbsp;fulfilling&nbsp;</span><span class="keyword">this</span><span>&nbsp;request. &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>exception&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>javax.servlet.ServletException:&nbsp;No&nbsp;WebApplicationContext&nbsp;found:&nbsp;no&nbsp;ContextLoaderListener&nbsp;registered? &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:</span><span class="number">545</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:</span><span class="number">486</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:</span><span class="number">274</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts.action.ActionServlet.process(ActionServlet.java:</span><span class="number">1482</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:</span><span class="number">525</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:</span><span class="number">710</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:</span><span class="number">803</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>root&nbsp;cause&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>java.lang.IllegalStateException:&nbsp;No&nbsp;WebApplicationContext&nbsp;found:&nbsp;no&nbsp;ContextLoaderListener&nbsp;registered? &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.web.context.support.WebApplicationContextUtils.getRequiredWebApplicationContext(WebApplicationContextUtils.java:</span><span class="number">84</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.web.struts.DelegatingActionUtils.findRequiredWebApplicationContext(DelegatingActionUtils.java:</span><span class="number">122</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.web.struts.DelegatingActionProxy.getWebApplicationContext(DelegatingActionProxy.java:</span><span class="number">139</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.web.struts.DelegatingActionProxy.getDelegateAction(DelegatingActionProxy.java:</span><span class="number">120</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:</span><span class="number">105</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:</span><span class="number">484</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:</span><span class="number">274</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts.action.ActionServlet.process(ActionServlet.java:</span><span class="number">1482</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:</span><span class="number">525</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:</span><span class="number">710</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:</span><span class="number">803</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>note&nbsp;The&nbsp;full&nbsp;stack&nbsp;trace&nbsp;of&nbsp;the&nbsp;root&nbsp;cause&nbsp;is&nbsp;available&nbsp;in&nbsp;the&nbsp;Apache&nbsp;Tomcat/</span><span class="number">5.5</span><span>.</span><span class="number">23</span><span>&nbsp;logs. &nbsp;&nbsp;</span></li>
</ol>
</div>
<p>[b]web.xml：[/b]</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>&lt;?xml&nbsp;version=</span><span class="string">&quot;1.0&quot;</span><span>&nbsp;encoding=</span><span class="string">&quot;UTF-8&quot;</span><span>?&gt; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&lt;web-app&nbsp;xmlns=</span><span class="string">&quot;http://java.sun.com/xml/ns/j2ee&quot;</span><span>&nbsp;xmlns:xsi=</span><span class="string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span><span>&nbsp;version=</span><span class="string">&quot;2.4&quot;</span><span>&nbsp;xsi:schemaLocation=</span><span class="string">&quot;http://java.sun.com/xml/ns/j2ee&nbsp;&nbsp;&nbsp;http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&lt;servlet&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet-name&gt;action&lt;/servlet-name&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet-</span><span class="keyword">class</span><span>&gt;org.apache.struts.action.ActionServlet&lt;/servlet-</span><span class="keyword">class</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;init-param&gt;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-value&gt;classpath:applicationContext.xml&lt;/param-value&gt;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/init-param&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;init-param&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-name&gt;config&lt;/param-name&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/init-param&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;init-param&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-name&gt;debug&lt;/param-name&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-value&gt;</span><span class="number">3</span><span>&lt;/param-value&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/init-param&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;init-param&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-name&gt;detail&lt;/param-name&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-value&gt;</span><span class="number">3</span><span>&lt;/param-value&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/init-param&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;load-on-startup&gt;</span><span class="number">0</span><span>&lt;/load-on-startup&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&lt;/servlet&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&lt;servlet-mapping&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet-name&gt;action&lt;/servlet-name&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;url-pattern&gt;*.</span><span class="keyword">do</span><span>&lt;/url-pattern&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&lt;/servlet-mapping&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;/web-app&gt; &nbsp;&nbsp;</span></li>
</ol>
</div>
<p><br />
[[b]struts-config.xml：[/b]</p>
<div class="code_title">java 代码</div>
<font face="Arial">
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>&lt;?xml&nbsp;version=</span><span class="string">&quot;1.0&quot;</span><span>&nbsp;encoding=</span><span class="string">&quot;UTF-8&quot;</span><span>?&gt; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&lt;!DOCTYPE&nbsp;struts-config&nbsp;PUBLIC&nbsp;</span><span class="string">&quot;-//Apache&nbsp;Software&nbsp;Foundation//DTD&nbsp;Struts&nbsp;Configuration&nbsp;1.1//EN&quot;</span><span>&nbsp;</span><span class="string">&quot;http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&lt;struts-config&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&lt;data-sources&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&lt;form-beans&nbsp;&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;form-bean&nbsp;name=</span><span class="string">&quot;loginForm&quot;</span><span>&nbsp;type=</span><span class="string">&quot;com.dn.struts.form.LoginForm&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&lt;/form-beans&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&lt;global-exceptions&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&lt;global-forwards&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&lt;action-mappings&nbsp;&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;action &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;attribute=</span><span class="string">&quot;loginForm&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;input=</span><span class="string">&quot;/form/login.jsp&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name=</span><span class="string">&quot;loginForm&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parameter=</span><span class="string">&quot;parm&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path=</span><span class="string">&quot;/login&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scope=</span><span class="string">&quot;request&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type=</span><span class="string">&quot;org.springframework.web.struts.DelegatingActionProxy&quot;</span><span>&nbsp;&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;forward&nbsp;name=</span><span class="string">&quot;success&quot;</span><span>&nbsp;path=</span><span class="string">&quot;/form/success.jsp&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;forward&nbsp;name=</span><span class="string">&quot;error&quot;</span><span>&nbsp;path=</span><span class="string">&quot;/form/error.jsp&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/action&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&lt;/action-mappings&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&lt;message-resources&nbsp;parameter=</span><span class="string">&quot;com.dn.struts.ApplicationResources&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&lt;/struts-config&gt; &nbsp;&nbsp;</span></li>
</ol>
</div>
<p>[b]applicationContext.xml:[/b]</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>&lt;?xml&nbsp;version=</span><span class="string">&quot;1.0&quot;</span><span>&nbsp;encoding=</span><span class="string">&quot;UTF-8&quot;</span><span>?&gt; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&lt;!DOCTYPE&nbsp;beans&nbsp;PUBLIC&nbsp;</span><span class="string">&quot;-//SPRING//DTD&nbsp;BEAN//EN&quot;</span><span>&nbsp;</span><span class="string">&quot;http://www.springframework.org/dtd/spring-beans.dtd&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&lt;beans&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--数据源datasource的声明--&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;id=</span><span class="string">&quot;dataSource&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;org.apache.commons.dbcp.BasicDataSource&quot;</span><span>&nbsp;destroy-method=</span><span class="string">&quot;close&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;driverClassName&quot;</span><span>&gt;&lt;value&gt;oracle.jdbc.driver.OracleDriver&lt;/value&gt;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;url&quot;</span><span>&gt;&lt;value&gt;jdbc:oracle:thin:</span><span class="annotation">@127</span><span>.0.</span><span class="number">0.1</span><span>:</span><span class="number">1521</span><span>:datanew&lt;/value&gt;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;username&quot;</span><span>&gt;&lt;value&gt;test&lt;/value&gt;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;password&quot;</span><span>&gt;&lt;value&gt;test&lt;/value&gt;&nbsp;&nbsp;&nbsp;&lt;/property&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--Session&nbsp;Factory声明--&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;id=</span><span class="string">&quot;sessionFactory&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;org.springframework.orm.hibernate3.LocalSessionFactoryBean&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;dataSource&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ref&nbsp;local=</span><span class="string">&quot;dataSource&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;mappingResources&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;list&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;com/dn/struts/entity/Login.hbm.xml&lt;/value&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/list&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;hibernateProperties&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;props&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;prop&nbsp;key=</span><span class="string">&quot;hibernate.dialect&quot;</span><span>&gt;org.hibernate.dialect.Oracle9Dialect&lt;/prop&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;prop&nbsp;key=</span><span class="string">&quot;hibernate.show_sql&quot;</span><span>&gt;</span><span class="keyword">true</span><span>&lt;/prop&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/props&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--定义一个hibernate&nbsp;拦截器&nbsp;--&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;id=</span><span class="string">&quot;hibernateInterceptor&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;org.springframework.orm.hibernate3.HibernateInterceptor&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;sessionFactory&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ref&nbsp;bean=</span><span class="string">&quot;sessionFactory&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;hibernate&nbsp;事务--&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;id=</span><span class="string">&quot;myTransactionManager&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;org.springframework.orm.hibernate3.HibernateTransactionManager&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;sessionFactory&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ref&nbsp;local=</span><span class="string">&quot;sessionFactory&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--真正的DAO层--&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;id=</span><span class="string">&quot;basedaoTarget&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;com.dn.dao.BaseDAO&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;sessionFactory&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ref&nbsp;bean=</span><span class="string">&quot;sessionFactory&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--代理的DAO层&nbsp;--&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;id=</span><span class="string">&quot;basedao&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;org.springframework.aop.framework.ProxyFactoryBean&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;proxyInterfaces&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;com.dn.dao.IBaseDAO&lt;/value&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;interceptorNames&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;list&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;hibernateInterceptor&lt;/value&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;basedaoTarget&lt;/value&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/list&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;真正的服务层&nbsp;修改bean中id属性和</span><span class="keyword">class</span><span>属性--&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;id=</span><span class="string">&quot;userServiceTarget&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;com.dn.struts.service.UserService&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;basedao&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ref&nbsp;bean=</span><span class="string">&quot;basedao&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;代理的服务层&nbsp;修改bean中id属性和ref中的bean的属性并且等于真正的服务层的bean的id属性--&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;id=</span><span class="string">&quot;userService&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;org.springframework.transaction.interceptor.TransactionProxyFactoryBean&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;transactionManager&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ref&nbsp;bean=</span><span class="string">&quot;myTransactionManager&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;target&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ref&nbsp;bean=</span><span class="string">&quot;userServiceTarget&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;transactionAttributes&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;props&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;prop&nbsp;key=</span><span class="string">&quot;get*&quot;</span><span>&gt;PROPAGATION_SUPPORTS&lt;/prop&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;prop&nbsp;key=</span><span class="string">&quot;*&quot;</span><span>&gt;PROPAGATION_REQUIRED&lt;/prop&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/props&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;strtus控制器的配置&nbsp;ref中的bean属性等于代理层中的bean中的id属性--&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;name=</span><span class="string">&quot;/login&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;com.dn.struts.action.LoginAction&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=</span><span class="string">&quot;iUserService&quot;</span><span>&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ref&nbsp;bean=</span><span class="string">&quot;userService&quot;</span><span>&nbsp;/&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&lt;/beans&gt; &nbsp;&nbsp;</span></li>
</ol>
</div>
<p><br />
</p>
<p>请各位大侠告诉小弟该怎么解决丫！还有我这种结构在ssh架构的基础上合理吗?<br />
谢谢啦！...</p>
<p>[附件注释:项目的源代码.但是lib目录下面的jar包都没有.大家自己导入.我的开发工具是eclipse3.2.开发环境是struts1.1+Spring1.2 Core Libraries+Hibernate3.1 Core Libraries.数据库在applicationContext.xml文件中配置.当前数据库是oracle9i.数据库有3列.id是用序列自动增长的.]</p>
</font><font face="Arial"></font>
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/131693#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 13 Oct 2007 18:08:37 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/131693</link>
        <guid>http://neitnaco.javaeye.com/blog/131693</guid>
      </item>
      <item>
        <title>jsp+servlet上传</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/131208" style="color:red;">http://neitnaco.javaeye.com/blog/131208</a>&nbsp;
          发表时间: 2007年10月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="黑体" style="LINE-HEIGHT: 1.3em">今天很是郁闷,简简单单的一个利用jsp+servlet上传我就做了一个下午,到最后还是没成功.也没啥高深的.就是利用jspsmartupload这个组件.中间代码重要的也无非是几行代码.有几点疑问.先记录下来:</font><wbr></wbr><br />
<font face="黑体" style="LINE-HEIGHT: 1.3em">1.我通过jsp页面提交到一个servlet中去处理上传.jsp页面用的是meth=&quot;post&quot;.结果在servlet中用request.getParamter();硬是取不到值;用get是可以的.不知道怎么解决?</font><wbr></wbr><br />
<font face="黑体" style="LINE-HEIGHT: 1.3em">2.利用jspsmartupload组件的时候.</font><wbr></wbr><br />
<font face="黑体" style="LINE-HEIGHT: 1.3em"></font></p>
<font face="黑体" style="LINE-HEIGHT: 1.3em">
<div class="code_title">java 代码</div>
</font><font face="黑体" style="LINE-HEIGHT: 1.3em">
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span class="comment">//&nbsp;&nbsp;&nbsp;新建一个SmartUpload对象 </span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;SmartUpload&nbsp;su&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;SmartUpload();&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="comment">//&nbsp;&nbsp;获得上传文件的全物理路径 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;String&nbsp;fpath=request.getParameter(</span><span class="string">&quot;file1&quot;</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;System.out.println(fpath);&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="comment">//获得上传文件的文件名 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;String[]&nbsp;files=fpath.split(</span><span class="string">&quot;\\\\&quot;); </span>&nbsp;</li>
    <li class=""><span><span class="string">&nbsp;&nbsp;String&nbsp;fname&nbsp;=&nbsp;files[files.length-1]; </span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;System.out.println(fname);&nbsp; </span>&nbsp;</span></li>
    <li class=""><span><span class="string"></span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;try&nbsp;{ </span>&nbsp;</span></li>
    <li class=""><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;</span><span>ddddd</span><span class="string">&quot;);&nbsp; </span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;上传初始化 </span>&nbsp;</span></li>
    <li class=""><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;su.initialize(pageContext);&nbsp; </span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;</span><span>cccc</span><span class="string">&quot;);&nbsp; </span>&nbsp;</span></li>
    <li class=""><span><span class="string">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;限制每个上传文件的最大长度。 </span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">//&nbsp;&nbsp;&nbsp;&nbsp;su.setMaxFileSize(10000000);&nbsp; </span>&nbsp;</span></li>
    <li class=""><span><span class="string">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;限制总上传数据的长度。 </span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">//&nbsp;&nbsp;&nbsp;&nbsp;su.setTotalMaxFileSize(20000000);&nbsp; </span>&nbsp;</span></li>
    <li class=""><span><span class="string">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设定允许上传的文件（通过扩展名限制）,仅允许doc,txt文件。 </span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;su.setAllowedFilesList(&quot;</span><span>doc,txt</span><span class="string">&quot;); </span>&nbsp;</span></li>
    <li class=""><span><span class="string">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设定禁止上传的文件（通过扩展名限制）,禁止上传带有exe,bat, </span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">//&nbsp;&nbsp;&nbsp;&nbsp;jsp,htm,html扩展名的文件和没有扩展名的文件。 </span>&nbsp;</span></li>
    <li class=""><span><span class="string">//&nbsp;&nbsp;&nbsp;&nbsp;su.setDeniedFilesList(&quot;</span><span>exe,bat,jsp,htm,html,,</span><span class="string">&quot;); </span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上传文件 </span>&nbsp;</span></li>
    <li class=""><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;su.upload(); </span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">su.save(&quot;</span><span>upload/&quot;); &nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>可是在servlet里面是没有pageContext这个隐士对象的.怎么初始化这个上传组件呢?</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>java.lang.NegativeArraySizeException &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;at&nbsp;com.jspsmart.upload.SmartUpload.upload(SmartUpload.java:</span><span class="number">218</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;org.apache.jsp.result_jsp._jspService(result_jsp.java:</span><span class="number">85</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;at&nbsp;org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:</span><span class="number">98</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:</span><span class="number">803</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;at&nbsp;org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:</span><span class="number">328</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:</span><span class="number">315</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;at&nbsp;org.apache.jasper.servlet.JspServlet.service(JspServlet.java:</span><span class="number">265</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:</span><span class="number">803</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;at&nbsp;org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:</span><span class="number">269</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:</span><span class="number">188</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;at&nbsp;org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:</span><span class="number">210</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:</span><span class="number">174</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;at&nbsp;org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:</span><span class="number">127</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:</span><span class="number">117</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;at&nbsp;org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:</span><span class="number">108</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:</span><span class="number">151</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;at&nbsp;org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:</span><span class="number">870</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:</span><span class="number">665</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;at&nbsp;org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:</span><span class="number">528</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:</span><span class="number">81</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;at&nbsp;org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:</span><span class="number">685</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;at&nbsp;java.lang.Thread.run(Thread.java:</span><span class="number">595</span><span>) &nbsp;&nbsp;</span></li>
</ol>
</div>
<p><br />
唉..不知道是我把问题弄复杂化了还是怎么的..忘一二啊.</p>
</font><wbr></wbr><br />
<font face="黑体" style="LINE-HEIGHT: 1.3em">3.当我在把处理页面由servlet转化到jsp页面中的时候,pageContext的问题得到了解决.但是同上的代码.却在su.upload()方法的时候抛出异常.</font><wbr></wbr><br />
<br />
          <br/>
          <span style="color:red;">
            <a href="http://neitnaco.javaeye.com/blog/131208#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 11 Oct 2007 20:54:40 +0800</pubDate>
        <link>http://neitnaco.javaeye.com/blog/131208</link>
        <guid>http://neitnaco.javaeye.com/blog/131208</guid>
      </item>
      <item>
        <title>年轻的心 不再漂泊</title>
        <author>neitnaco</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://neitnaco.javaeye.com">neitnaco</a>&nbsp;
          链接：<a href="http://neitnaco.javaeye.com/blog/131207" style="color:red;">http://neitnaco.javaeye.com/blog/131207</a>&nbsp;
          发表时间: 2007年10月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有的时候,我会无法控制思想,问自己存在的意义和人生的目的是什么?然后不断考量现在,统筹未来.然而对于一个打工者来说,这样的想法是不是过于奢侈和多余,甚至是让人联想起孔乙己般的不切实际和迂腐,我的朋友有时候就这样说我.难道就因为读书时间长了,所以产生的所谓知识分子的多愁和善感,或者说与生俱来就有的敏感在作崇?看着周围的工友他们平淡的活着,夫妻俩在一个公司每天准时上下班,对我来说,不仅是一种羡慕,而且象征着一种生活境界.虽然人和人之间的生活水准不同,但是境界达到的程度不会因此而改变,境界是内在的难于物质衡量和区别.我不知道在他们的眼里我是以个什么样的人,而我的确是对自己的孤独有着深切的感受,在我笑的时候,我还想象着梦中春天的美好,以及十年磨一剑拔剑谈笑的光芒.年少时的轻狂可以摘下满天星,如今化为风雨过后彩虹般遥远的梦想.&rdquo;早已过了做梦的年龄,你还老提拉着不放,你档自己哪根葱?&rdquo;毕业两年后的****,当年的好友酒席间醉了笑骂自己,&rdquo;不过南柯一梦罢了。&rdquo;看着当年意气风发的他，往昔的豪情不羁不知道都到哪里去了，一刹那我果真感到恍如南柯一梦，貌似回到从前，然后是梦就似乎应该必然醒来。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如今在这个不算熟悉也不能说时陌生的城市里，每天随着城市生活的潮流向前或者重复向前的脚步，我不知道未来究竟会怎样，我还在寻找自己的位置。时代对于我们只是一个名词，经常会忽略找到他的存在，不少人只关心房子和股票，甚至连感情都可以忽略。路人的脚步那么匆匆，可是我们习惯不问匆匆的来由和意义。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;也许在某个时刻，类似堂吉诃德状的诸般念头象闪电般划过心头，百感交集的那一刻，想要回家看看那片乡野，和采蜜的蜜蜂。心中轻轻一个声音划过。活着时多么幸福的一件事，哪怕在外终日奔波，哪怕回家的路一年走不上一两回。身在异乡，人一天天近中年，我逐渐认识到我存在的目的，我想要实现的是，通过自己的劳动，把父母花费在我身上读书十几年的心血加倍还给他们，养育之情也许一辈子还不清，但是经济上的一定要还，并且要加倍还来回报恩情。从经济的角度来说。虽然我不喜欢谈经济，我没有任何理由让他们的投资贬值。但是我几乎知道，自己欠自己的关于梦想的债务，也许医生都难于还起来，有的时候，想到此不禁黯然伤神。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;然而，如果把人生比喻成一场还贷游