??xml version="1.0" encoding="utf-8" standalone="yes"?>精品福利视频导航,久久久久久久999精品视频,亚洲视频一二三区http://www.aygfsteel.com/jiafang83/zh-cnSat, 05 Jul 2025 08:57:47 GMTSat, 05 Jul 2025 08:57:47 GMT60如何解决安装oracle10g时先x(chng)件检查未通过http://www.aygfsteel.com/jiafang83/archive/2012/08/18/385724.htmljiafang83jiafang83Sat, 18 Aug 2012 05:38:00 GMThttp://www.aygfsteel.com/jiafang83/archive/2012/08/18/385724.htmlhttp://www.aygfsteel.com/jiafang83/comments/385724.htmlhttp://www.aygfsteel.com/jiafang83/archive/2012/08/18/385724.html#Feedback0http://www.aygfsteel.com/jiafang83/comments/commentRss/385724.htmlhttp://www.aygfsteel.com/jiafang83/services/trackbacks/385724.htmlҎ(gu)Q打开控制面板Q选者添加硬?#8212;选择是,我已l连接了(jin)此硬Ӟ下一步选者最后一Ҏ(gu)加新的硬件设备,下一步选择 安装我手动从列表选者的gQ高U)(j)Q下一步选者网l适配器,下一步选者Microsoft Loopback
Adapter,按向导提CZ一步就行了(jin)。完成以后打开你的|上d看看是不是多?jin)一个网上连接(2Q,然后讄它的IP地址如?92.168.1.1.随便p?jin),q样在安装oracle的时候就可以用这一个假的网l来q接Q蒙骗一?oracle?jin)。一定可以验证过?img src ="http://www.aygfsteel.com/jiafang83/aggbug/385724.html" width = "1" height = "1" />

jiafang83 2012-08-18 13:38 发表评论
]]>
Hibernate 3注释?/title><link>http://www.aygfsteel.com/jiafang83/archive/2009/07/26/288439.html</link><dc:creator>jiafang83</dc:creator><author>jiafang83</author><pubDate>Sun, 26 Jul 2009 06:00:00 GMT</pubDate><guid>http://www.aygfsteel.com/jiafang83/archive/2009/07/26/288439.html</guid><wfw:comment>http://www.aygfsteel.com/jiafang83/comments/288439.html</wfw:comment><comments>http://www.aygfsteel.com/jiafang83/archive/2009/07/26/288439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jiafang83/comments/commentRss/288439.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jiafang83/services/trackbacks/288439.html</trackback:ping><description><![CDATA[    摘自Q?a >http://article.pchome.net/content-330924.html</a><br /> <br />        在过dq里QHibernate不断发展Q几乎成为Java数据库持久性的事实标准。它非常强大、灵z,而且具备?jin)优异的性能。在本文中,我们了(jin)解如何用Java 5 注释来简化Hibernate代码Qƈ使持久层的编码过E变得更松? <p>  传统上,Hibernate的配|依赖于外部 XML 文gQ数据库映射被定义ؓ(f)一l?XML 映射文gQƈ且在启动时进行加载。创些映有很多Ҏ(gu)Q可以从已有数据库模式或JavacL型中自动创徏Q也可以手工创徏。无论如何,(zhn)最l将获得大量?Hibernate 映射文g。此外,q可以用工P通过javadoc样式的注释生成映文Ӟ管q样?x)给?zhn)的构徏q程增加一个步骤?/p> <p>  在最q发布的几个Hibernate版本中,出现?jin)一U基?Java 5 注释的更为y妙的新方法。借助新的 Hibernate Annotation 库,卛_一ơ性地分配所有旧映射文g——一切都?x)按照(zhn)的想法来定义——注释直接嵌入到(zhn)的 Java cMQƈ提供一U强大及(qing)灉|的方法来声明持久性映。籍p动代码完成和语法H出昄功能Q最q发布的Java IDE也ؓ(f)其提供了(jin)有力的支持?/p> <p>  Hibernate Annotationq支持新?EJB 3 持久性规范。这些规范旨在提供一U标准化?Java 持久性机制。由?Hibernate 3 q提供了(jin)一些扩展,因此(zhn)可以十分轻村֜遵从q些标准Qƈ使用 EJB 3 ~程模型来对 Hibernate 持久层进行编码?/p> <p>  现在Q让我们来动手用Hibernate Annotation?/p> <h3>安装 Hibernate Annotation</h3> <p>  要?Hibernate AnnotationQ?zhn)臛_需要具?Hibernate 3.2和Java 5。可以从 <a target="_blank"><u><font color="#0000ff">Hibernate 站点</font></u></a> 下蝲 Hibernate 3.2 ?Hibernate Annotation库。除?jin)标准?Hibernate JAR 和依赖项之外Q?zhn)q需?Hibernate Annotations .jar 文gQ?em>hibernate-annotations.jar</em>Q、Java 持久?API Q?em>lib/ejb3-persistence.jar</em>Q。如果?zhn)正在使?MavenQ只需要向 POM 文gd相应的依赖项卛_Q如下所C:(x)</p> <pre class="code"> ... <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate</artifactid> <version>3.2.1.ga</version> </dependency> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-annotations</artifactid> <version>3.2.0.ga</version> </dependency> <dependency> <groupid>javax.persistence</groupid> <artifactid>persistence-api</artifactid> <version>1.0</version> </dependency> ... </pre> <p>  下一步就是获?Hibernate ?x)话工厂。尽无需惊天的修改,但这一工作与?Hibernate Annotations有所不同。?zhn)需要?AnnotationConfiguration cL建立?x)话工厂Q?/p> <pre class="code">sessionFactory = new<br /> AnnotationConfiguration().buildSessionFactory(); </pre> <p>  管通常使用 <mapping>元素来声明持久性类Q?zhn)q是需要在 Hibernate 配置文gQ通常?hibernate.cfg.xmlQ中声明持久性类Q?/p> <pre class="code"><hibernate-configuration> <session-factory> <mapping class="com.onjava.modelplanes.domain.PlaneType" /> <mapping class="com.onjava.modelplanes.domain.ModelPlane" /> </session-factory> </hibernate-configuration> </pre> <p>  q期的许?Java 目都用了(jin)轻量U的应用框架Q例?Spring。如果?zhn)正在使?Spring 框架Q可以?AnnotationSessionFactoryBean c轻村־立一个基于注释的 Hibernate ?x)话工厂Q如下所C:(x)</p> <pre class="coce"><!-- Hibernate session factory --> <bean class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" id="sessionFactory"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop> <prop key="hibernate.hbm2ddl.auto">create</prop> ... </props> </property> <property name="annotatedClasses"> <list> <value>com.onjava.modelplanes.domain.PlaneType</value> <value>com.onjava.modelplanes.domain.ModelPlane</value> ... </list> </property> </bean> </pre> <h3>W一个持久性类</h3> <p>  既然已经知道?jin)如何获得注释所支持?Hibernate ?x)话Q下面让我们来了(jin)解一下带注释的持久性类的情况:(x)</p> <p>  像在其他M Hibernate应用E序中一P带注释的持久性类也是普?POJO。差不多可以说是。?zhn)需要向 Java 持久?API Q?em>javax.persistence.*</em>Q添加依赖项Q如果?zhn)正在使用M特定?Hibernate的扩展,那很可能是 Hibernate Annotation E序包(<em>org.hibernate.annotations.*</em>Q,但除此之外,它们只是具备?jin)持久性注释的普?POJO 。下面是一个简单的例子Q?/p> <pre class="code">@Entity public class ModelPlane { private Long id; private String name; @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } </pre> <p>  正像我们所提到的,q非常简单。@Entity 注释声明该类为持久类。@Id 注释可以表明哪种属性是该类中的独特标识W。事实上Q?zhn)既可以保持字D(注释成员变量Q,也可以保持属性(注释getterҎ(gu)Q的持久性。后文中用基于属性的注释。基于注释的持久性的优点之一在于大量使用?jin)默认|最大的优点是 “惯例优先原则Qconvention over configurationQ?#8221;Q。例如,(zhn)无需说明每个属性的持久性——Q何属性都被假定ؓ(f)持久的,除非(zhn)?@Transient 注释来说明其他情c(din)这化了(jin)代码Q相对用老的 XML 映射文g而言也大q地减少?jin)输入工作量?/p> <h3>生成主键</h3> <p>  Hibernate 能够?gu)地自动生成主键。Hibernate/EBJ 3 注释也可以ؓ(f)主键的自动生成提供丰富的支持Q允许实现各U策略。下面的CZ说明?jin)一U常用的Ҏ(gu)Q其?Hibernate 会(x)Ҏ(gu)底层数据库来定一U恰当的键生成策略:(x)</p> <pre class="code">@Id @GeneratedValue(strategy=GenerationType.AUTO) public Long getId() { return id; } </pre> <h3>定制表和字段映射</h3> <p>  默认情况下,Hibernate ?x)将持久cM匚w的名U映到表和字段中。例如,前一个类可以与映到以如下代码创建的表中Q?/p> <pre class="code">CREATE TABLE MODELPLANE ( ID long, NAME varchar ) </pre> <p>  如果(zhn)是自己生成q维护数据库Q那么这U方法很有效Q通过省略代码可以大大化代码维护。然而,qƈ不能满所有h的需求。有些应用程序需要访问外部数据库Q而另一些可能需要遵从公司的数据库命名惯例。如果有必要Q?zhn)可以使?@Table ?@Column 注释来定制?zhn)自己的持久性映,如下所C:(x)</p> <pre class="code">@Entity @Table(name="T_MODEL_PLANE") public class ModelPlane { private Long id; private String name; @Id @Column(name="PLANE_ID") public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Column(name="PLANE_NAME") public String getName() { return name; } public void setName(String name) { this.name = name; } } </pre> <p>  该内容将映射C表中Q?/p> <pre class="code">CREATE TABLE T_MODEL_PLANE ( PLANE_ID long, PLANE_NAME varchar ) </pre> <p>  也可以用其他图和列的属性来定制映射。这使?zhn)可以指定诸如列长度、非I约束等详细内容。Hibernate支持大量针对q些注释的属性。下例中包含了(jin)几种属性:(x)</p> <pre class="code"> ... @Column(name="PLANE_ID", length=80, nullable=true) public String getName() { return name; } ... </pre> <h3>映射关系</h3> <p>  Java 持久性映过E中最重要和最复杂的一环就是确定如何映表间的关系。像其他产品一P Hibernate 在该领域中提供了(jin)高度的灵zL,但却是以复杂度的增加Z仗我们将通过研究几个常见案例来了(jin)解如何用注释来处理q一问题?/p> <p>  其中一U最常用的关pd是多对一的关pR假定在以上CZ中每?ModelPlane 通过多对一的关p(也就是说Q每个飞机模型只与一U飞机类型徏立联p,管指定的飞机类型可以与七种飞机模型建立联系Q来?PlaneType 建立联系。可如下q行映射Q?/p> <pre class="code"> @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} ) public PlaneType getPlaneType() { return planeType; } </pre> <p>  CascadeType D?Hibernate 应如何处理联操作?/p> <p>  另一U常用的关系与上q关pȝ反:(x)一对多再对一关系Q也UCؓ(f)集合。在老式?Hibernate 版本中进行映或使用注释Ӟ集合令h头疼Q这里我们将要加以探讨,以(zhn)了(jin)解如何处理集合,例如Q在以上CZ中每?PlaneType 对象都可能会(x)包含一?ModelPlanes 集合。可映射如下Q?/p> <pre class="code"> @OneToMany(mappedBy="planeType", cascade=CascadeType.ALL, fetch=FetchType.EAGER) @OrderBy("name") public List<modelplane> getModelPlanes() { return modelPlanes; } </pre> <h3>命名查询</h3> <p>  Hibernate 最优秀的功能之一在于它能够在?zhn)的映文件中声明命名查询。随后即可通过代码中的名称调用此类查询Q这使?zhn)可以专注于查询,而避免了(jin) SQL 或?HQL 代码分散于整个应用程序中的情c(din)?/p> <p>  也可以用注释来实现命名查询Q可以?@NamedQueries ?@NamedQuery 注释Q如下所C:(x)</p> <pre class="code">@NamedQueries( { @NamedQuery( name="planeType.findById", query="select p from PlaneType p left join fetch p.modelPlanes where id=:id" ), @NamedQuery( name="planeType.findAll", query="select p from PlaneType p" ), @NamedQuery( name="planeType.delete", query="delete from PlaneType where id=:id" ) } ) </pre> <p>  一旦完成了(jin)定义Q?zhn)可以像调用其他M其他命名查询一h调用它们?/p> <h3>l束?/h3> <p>  Hibernate 3 注释提供?jin)强大而精致的 APIQ简化了(jin) Java 数据库中的持久性代码,本文中只q行?jin)简单的讨论。?zhn)可以选择遵从标准q?Java 持久?APIQ也可以利用特定?Hibernate的扩展,q些功能以损失可UL性ؓ(f)代h(hun)提供?jin)更为强大的功能和更高的灉|性。无论如何,通过消除?XML 映射文g的需求,Hibernate 注释简化应用程序的l护Q同时也可以使?zhn)对EJB 3 有初步认识。来试试吧!</p> <img src ="http://www.aygfsteel.com/jiafang83/aggbug/288439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jiafang83/" target="_blank">jiafang83</a> 2009-07-26 14:00 <a href="http://www.aygfsteel.com/jiafang83/archive/2009/07/26/288439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate一对多双向annotation配置http://www.aygfsteel.com/jiafang83/archive/2009/07/26/288438.htmljiafang83jiafang83Sun, 26 Jul 2009 05:40:00 GMThttp://www.aygfsteel.com/jiafang83/archive/2009/07/26/288438.htmlhttp://www.aygfsteel.com/jiafang83/comments/288438.htmlhttp://www.aygfsteel.com/jiafang83/archive/2009/07/26/288438.html#Feedback1http://www.aygfsteel.com/jiafang83/comments/commentRss/288438.htmlhttp://www.aygfsteel.com/jiafang83/services/trackbacks/288438.html摘自Q?/strong>http://www.javaeye.com/topic/95822

school和userMember是一对多关系Q?br />
SchoolInfo.java

 1import javax.persistence.CascadeType;   
 2import javax.persistence.Column;   
 3import javax.persistence.Entity;   
 4import javax.persistence.FetchType;   
 5import javax.persistence.GeneratedValue;   
 6import javax.persistence.Id;   
 7import javax.persistence.OneToMany;   
 8import javax.persistence.Table;   
 9import javax.persistence.Temporal;   
10import javax.persistence.TemporalType;   
11   
12import org.hibernate.annotations.Formula;   
13import org.hibernate.annotations.GenericGenerator;   
14   
15@Entity   
16@Table(name = "school_info")   
17public class SchoolInfo implements java.io.Serializable {   
18   
19    @Id   
20    @GeneratedValue(generator = "system-uuid")   
21    @GenericGenerator(name = "system-uuid", strategy = "uuid")   
22    private String id;//hibernate的uuid机制,生成32为字W串   
23   
24    @Column(name = "actcodeId", updatable = false, nullable = true, length = 36)   
25    private String actcodeId;   
26   
27    @Formula("select COUNT(*) from school_info")   
28    private int count;   
29   
30    @Temporal(TemporalType.TIMESTAMP)//不用set,hibernate?x)自动把当前旉写?nbsp;  
31    @Column(updatable = false, length = 20)   
32    private Date createTime;   
33   
34    @Temporal(TemporalType.TIMESTAMP)   
35    private Date updateTime;// 刚开始我默认insertable=false,但会(x)d出错提示如下:   
36    // Value '0000-00-00' can not be represented as java.sql.Timestamp   
37   
38    // mappedBy="school"q当于inverse=true,(mappedBy指定的是不需要维护关pȝ一?   
39    // 应该注意的是mappedBy值对应@ManyToOne标注的属?我刚开始写?schoolId",让我郁闷?jin)好一?nbsp;
40    @OneToMany(mappedBy = "school", cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = UserMember.class)   
41    // 用范性的?׃用targetEntity?nbsp;  
42    private List<usermember> users = </usermember>new ArrayList<usermember>();  </usermember> 
43       
44}
   
45

@GeneratedValue(strategy=GenerationType.AUTO)我们常用的自增长机制,我这里采用的是hibernate的uuid生成机制.
需要注意的是import javax.xx.Entity Q而不是org.hibernate.xx.Entity?/strong>
郁闷的是我上面用到@Formula,生成的sql竟然?select COUNT(*) from school_info as formula0_ from school_info schoolinfo0_,当然不能执行?L正解中~!!!!!!!!!

UserMember.java(前面引入的包已经贴过?下面׃贴了(jin))
 1 @Entity   
 2 @Table(name = "teacher_info")//实体cd数据库表名不一致时,才用q个   
 3 public class UserMember implements java.io.Serializable {   
 4    
 5     @Id   
 6     @GeneratedValue(generator = "system-uuid")   
 7     @GenericGenerator(name = "system-uuid", strategy = "uuid")   
 8     private String id;   
 9    
10     @Column(updatable = false, nullable = false, length = 20)   
11     private String logonName;   
12        
13     @Temporal(TemporalType.TIMESTAMP)   
14     @Column(updatable = false, length = 20)   
15     private Date createTime;   
16    
17     @Temporal(TemporalType.TIMESTAMP)   
18     private Date updateTime;   
19    
20     @ManyToOne(cascade = { CascadeType.MERGE })   
21     @JoinColumn(name = "schoolId")   
22     private SchoolInfo school;   
23     //注意该类׃用声明schoolId属性了(jin),如果不用@JoinColumn指明兌的字D?hibernate默认?x)是school_id.   
24    
25 }   



jiafang83 2009-07-26 13:40 发表评论
]]>
使用JAVAE序q接各种数据?/title><link>http://www.aygfsteel.com/jiafang83/archive/2009/07/20/287540.html</link><dc:creator>jiafang83</dc:creator><author>jiafang83</author><pubDate>Mon, 20 Jul 2009 14:31:00 GMT</pubDate><guid>http://www.aygfsteel.com/jiafang83/archive/2009/07/20/287540.html</guid><wfw:comment>http://www.aygfsteel.com/jiafang83/comments/287540.html</wfw:comment><comments>http://www.aygfsteel.com/jiafang83/archive/2009/07/20/287540.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jiafang83/comments/commentRss/287540.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jiafang83/services/trackbacks/287540.html</trackback:ping><description><![CDATA[ <img src ="http://www.aygfsteel.com/jiafang83/aggbug/287540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jiafang83/" target="_blank">jiafang83</a> 2009-07-20 22:31 <a href="http://www.aygfsteel.com/jiafang83/archive/2009/07/20/287540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深入出JSONhttp://www.aygfsteel.com/jiafang83/archive/2009/06/16/282496.htmljiafang83jiafang83Mon, 15 Jun 2009 17:03:00 GMThttp://www.aygfsteel.com/jiafang83/archive/2009/06/16/282496.htmlhttp://www.aygfsteel.com/jiafang83/comments/282496.htmlhttp://www.aygfsteel.com/jiafang83/archive/2009/06/16/282496.html#Feedback0http://www.aygfsteel.com/jiafang83/comments/commentRss/282496.htmlhttp://www.aygfsteel.com/jiafang83/services/trackbacks/282496.html转蝲Q?a >http://www.cnblogs.com/Truly/archive/2006/12/31/608896.html

JSON定义

    JSON(JavaScript Object Notation) 是一U轻量的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它ZECMA262语言规范Q?999-12W三版)(j)中JavaScript~程语言的一个子集?JSON采用与编E语a无关的文本格式,但是也用了(jin)cC语言Q包括CQ?C++Q?C#Q?JavaQ?JavaScriptQ?PerlQ?Python{)(j)的习(fn)惯,q些Ҏ(gu)JSON成ؓ(f)理想的数据交换格式?

JSON的结构基于下面两?br />

  • 1. "名称/?对的集合 不同语言中,它被理解为对?object)Q记?record)Q结?struct)Q字?dictionary)Q哈希表(hash table)Q键列表(keyed list){?
  • 2. 值的有序列表 多数语言中被理解为数l?array)
JSON使用Q?br />
JSON以一U特定的字符串Ş式来表示 JavaScript 对象。如果将hq样一UŞ式的字符串赋lQ意一?JavaScript 变量Q那么该变量?x)变成一个对象引用,而这个对象就是字W串所构徏出来的,好像有点拗口Q我们还是用实例来说明?

 q里假设我们需要创Z个User对象Qƈh以下属?/p>

  • 用户ID
  • 用户?
  • 用户Email

    (zhn)可以用以下JSON形式来表CUser对象Q?/p>

    {"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};

    然后如果把这一字符串赋予一个JavaScript变量Q那么就可以直接使用对象的Q一属性了(jin)?/p>

    完整代码:

    <script>
    var User = {"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"}; alert(User.Name); </script>

    实际使用时可能更复杂一点,比如我们为Name定义更详l的l构Q它具有FirstName和LastNameQ?/p>

    {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}

    完整代码:

    <script>
    var User = {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}; alert(User.Name.FirstName); </script>

    现在我们增加一个新的需求,我们某个面需要一个用户列表,而不仅仅是一个单一的用户信息,那么q里需要创Z个用户列表数l?br /> 下面代码演示?jin)用JSON形式定义q个用户列表Q?

    [
    {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"},
    {"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"},
    {"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"}
    ]


    完整代码:

    <script>
    var UserList = [
    {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"},
    {"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"},
    {"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"}
    ];
    alert(UserList[0].Name.FirstName);
    </script>

    事实上除?jin)?."引用属性外Q我们还可以使用下面语句Q?/p>

    alert(UserList[0]["Name"]["FirstName"]); 或?alert(UserList[0].Name["FirstName"]); 

    现在读者应该对JSON的用有点认识了(jin)Q归Uؓ(f)以下几点Q?/p>

  • 对象是属性、值对的集合。一个对象的开始于“{”Q结束于“}”。每一个属性名和值间?#8220;:”提示Q属性间?#8220;,”分隔?
  • 数组是有序的值的集合。一个数l开始于"["Q结束于"]"Qg间用","分隔?
  • 值可以是引号里的字符丌Ӏ数字、true、false、nullQ也可以是对象或数组。这些结构都能嵌套?
  • 字符串和数字的定义和C或Java基本一致?

    Q?br />
    本文通过一个实例演C,初步?jin)解了(jin)JSON 的强大用途。可以归l如下:(x)

  • JSON 提供?jin)一U优U的面向对象的Ҏ(gu)Q以便将元数据缓存到客户Z?
  • JSON 帮助分离?jin)验证数据和逻辑?
  • JSON 帮助?Web 应用E序提供?Ajax 的本质?


  • jiafang83 2009-06-16 01:03 发表评论
    ]]>
    Tomcat中部|JSTLhttp://www.aygfsteel.com/jiafang83/archive/2009/06/14/282192.htmljiafang83jiafang83Sun, 14 Jun 2009 10:02:00 GMThttp://www.aygfsteel.com/jiafang83/archive/2009/06/14/282192.htmlhttp://www.aygfsteel.com/jiafang83/comments/282192.htmlhttp://www.aygfsteel.com/jiafang83/archive/2009/06/14/282192.html#Feedback0http://www.aygfsteel.com/jiafang83/comments/commentRss/282192.htmlhttp://www.aygfsteel.com/jiafang83/services/trackbacks/282192.html 转蝲Q?a id="ArticleContent1_ArticleContent1_AuthorBlogLink" target="_blank">http://blog.csdn.net/sdlcn/

    前提 OS: WIN2000
         tomcat已经配置?tomcat可以?a >http://jakarta.apache.org/tomcat 下蝲)
    开始实战啦
    1.准备jstl
       ?a >http://apache.towardex.com/jakarta/taglibs/standard/下蝲jakarta-taglibs-standard-current.zip
    解压后成为jakarta-taglibs-standard-1.1.1

    2.准备web开发目?br />    比如我的web目录为h:\webapp\myweb\(当然可以把你的web应用攑֜%tomcat_home%\webapps\)Q称为工作目录Working folder,在工作目录h:\webapp\myweb\下徏立WEB-INF\lib,WEB-INF\classes

    3.拯.jar文g
       jakarta-taglibs-standard-1.1.1\lib\下的两个jar文gQstandard.jar和jstl.jar文g拯到\WEB-INF\lib\?/p>

    4.拯.tld文g
     jakarta-taglibs-standard-1.1.1\tld\下的8个tldcd文g拷到"Working folder\WEB-INF\"?/p>

    5.在\WEB-INF\下徏立web.xml文gQ?br />   <?xml version="1.0" encoding="ISO-8859-1"?>

    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="
    http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
     
      <taglib>
        <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
        <taglib-location>/WEB-INF/fmt.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>
        <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
        <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>
        <taglib-location>/WEB-INF/c-rt.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
        <taglib-location>/WEB-INF/sql.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
        <taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
        <taglib-location>/WEB-INF/x.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>
        <taglib-location>/WEB-INF/x-rt.tld</taglib-location>
    </taglib>

    </web-app>
    6.建立一个名为test.jsp文g
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <%@ page contentType="text/html;charset=GB2312" %>
    <%@ taglib prefix="c" uri="
    http://java.sun.com/jsp/jstl/core"%>
    <html>
    <head>
    <title>试你的W一个用到JSTL 的网?lt;/title>
    </head>
    <body>
    <c:out value="Ƣ迎试你的W一个用到JSTL 的网?/>
    </br>你用的览器是Q?lt;/br>
    <c:out value="${header['User-Agent']}"/>
    <c:set var="a" value="David O'Davies" />
    <c:out value="David O'Davies" escapeXml="true"/>
    </body>
    </html>

    7.开启tomcat,q行调试Q我的输出结果是

    Ƣ迎试你的W一个用到JSTL 的网?
    你用的览器是Q?br /> Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) David O'Davies



    jiafang83 2009-06-14 18:02 发表评论
    ]]>
    javascript:return falsehttp://www.aygfsteel.com/jiafang83/archive/2009/06/13/282094.htmljiafang83jiafang83Sat, 13 Jun 2009 15:52:00 GMThttp://www.aygfsteel.com/jiafang83/archive/2009/06/13/282094.htmlhttp://www.aygfsteel.com/jiafang83/comments/282094.htmlhttp://www.aygfsteel.com/jiafang83/archive/2009/06/13/282094.html#Feedback0http://www.aygfsteel.com/jiafang83/comments/commentRss/282094.htmlhttp://www.aygfsteel.com/jiafang83/services/trackbacks/282094.html转蝲Q?a >http://blog.csdn.net/mtzai/archive/2009/05/24/4212490.aspx

    在大多数情况?Z件处理函数返回false,可以防止默认的事件行?例如,默认情况下点M?lt;a>元素,面?x)蟩转到该元素href属性指定的?
     Return False q当于l止W,Return True q当于执行W?/p>

    在js中return false的作用一般是用来取消默认动作的。比如你单击一个链接除?jin)触发你?
    onclick旉Q如果你指定的话Q以外还要触发一个默认事件就是执行页面的跌{。所以如?
    你想取消对象的默认动作就可以return false。return false应用比较多的场合有:(x)
    <form name="form1"  onsubmIT="return youfunction();">...... </form>
    <a href="www.***.com" onclick="...;return false;">dddd </a>    .

    <script>
    function test()
    {
      alert("test");
      return false();
    }
    </script>

    </head>

    <body>
    1Q?<a href='a.JSP' onclick='test();'>链接 </a>
    2Q?<input type="button" onclick='test()' value="提交">
    3Q?<form name="form1"  onsubmIT="return test();">
    内容
    <input type="submIT" value="提交">
    </form>
    </body>

    <a href="xxxx.do?....." target=dolink>q接abcd </a>
    <iframe id=dolink src=about:blank style=display:none> </iframe>

     
    点了(jin)上面的那个连接后Qdolink帧执行页面处理的事情Qxxxx.doQ?..然传递参数到服务器)(j)Q页面不?x)蟩转?nbsp;   .

    最q做的项目,通过l定?button ?onclick 事g的函数提交表单。发?return false 也是很重要的。比如:(x)

     <input type="submit" onclick="submitAction(); return false;" />

     submitAction Ҏ(gu)里面有提交表单的动作。如果不?return falseQ在执行?submitAction 之后Qsubmit 按钮q(sh)(x)l箋(hu)执行它的默认事gQ就?x)再ơ提交表单。这可能是很多错误的根源?/p>

    的确Qreturn false的含义不是阻止事件l向层元素传播Q而是L览器对事g的默认处理。你可以q样试验Q首先将所有的js脚本注释掉,在IE览器中试拖动一下图片,你会(x)发现鼠标?x)成为禁止操作的样式Q图片是被禁止拖动的Q它是浏览器针对mousemove事g所提供的默认行为。return false是Z(jin)Lq种行ؓ(f)Q否则就?x)出C描述的中断事件连l执行?/p>

    另外Q和return false{效的语句ؓ(f)Qwindow.event.returnValue = falseQ你可以把return false替换为此语句q进行验证?/p>

    最后说明一下,此种方式只适用于IE览器?/p>

    <html>
    <head>
    <script language="javascript">
    function verifyForm(){
    var ass=document.getElementsByName("assetName");
    if(ass[0].value.length==0){
    alert("名称输入为空Q?);
    return false;
    }

    if(ass[0].value.length>15){
    alert("名称输入长度不能过15个字W!");
    return false;
    }
    }
    </script>
    </head>
    <body>
    <form name="xx">
    <input name="assetName" type="text"/>
                            <--Ҏ(gu)return q回值的TRUE或FALSE 判定是否提交表单--->
    <input type="submit" onclick="return verifyForm()"/>
    </form>
    </body>
    </html>

    潜水看了(jin)众大虄_ֽ帖子Q今也A(ch)献一点心(j)得。其dƣ赏Q疑义相与析。有不对之处请不吝拍砖?

    众所周知Q在表单中加上onsubmit="return false;"可以L表单提交?
    下面是简单的一段代码Q?/p>

    view plaincopy to clipboardprint?
    <form action="index.jsp" method="post" onsubmit="submitTest();;">  
        <INPUT value="www">  
        <input type="submit" value="submit">  
    </form>  
     
    <SCRIPT LANGUAGE="JavaScript">  
    <!--  
        function submitTest(); {  
            // 一些逻辑判断  
         return false;  
        }  
    //-->  
    </SCRIPT> 

    <form action="index.jsp" method="post" onsubmit="submitTest();;">
        <INPUT value="www">
        <input type="submit" value="submit">
    </form>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
        function submitTest(); {
            // 一些逻辑判断
         return false;
        }
    //-->
    </SCRIPT>
    大家判断像上面的写法Q点击submit按钮该表单是否提交?

    若答案ؓ(f)是,׃用往下看?jin)?

    若答案ؓ(f)否,错了(jin)。实际情冉|表单正常提交Q若惛_不提交,应该?/p>

    view plaincopy to clipboardprint?
    <form action="index.jsp" method="post" onsubmit="submitTest();;"> 

    <form action="index.jsp" method="post" onsubmit="submitTest();;">改ؓ(f)

    view plaincopy to clipboardprint?
    <form action="index.jsp" method="post" onsubmit="return submitTest();;"> 

    <form action="index.jsp" method="post" onsubmit="return submitTest();;">

    ZQ?

    原来onsubmit属性就像是<form>q个html对象的一个方法名Q其|一字符Ԍ(j)是其方法体Q默认返回trueQ?

    和Java一P在该Ҏ(gu)体中你可以写L多个语句Q包括内|函数和自定义函敎ͼ?/p>

    view plaincopy to clipboardprint?
    onsubmit="  
        alert('haha');; // 内置函数   
        submitTest();;  // 自定义函?nbsp; 
        alert(this.tagName);; // 用到?jin)this关键?nbsp; 
        ......(L多条语句);      
        return false;  

    onsubmit="
        alert('haha');; // 内置函数
        submitTest();;  // 自定义函?br />     alert(this.tagName);; // 用到?jin)this关键?br />     ......(L多条语句);   
        return false;
    "
    q当于

    view plaincopy to clipboardprint?
    Form.prototype.onsubmit = function(); {  
        alert('haha');; // 内置函数  
        submitTest();;  // 自定义函?nbsp; 
        alert(this.tagName);; // 用到?jin)this关键?nbsp; 
        ......(L多条语句);      
        return false;  
    }; 

    Form.prototype.onsubmit = function(); {
        alert('haha');; // 内置函数
        submitTest();;  // 自定义函?br />     alert(this.tagName);; // 用到?jin)this关键?br />     ......(L多条语句);   
        return false;
    };
    q样的话你就覆写?override)光认方法(默认q回trueQ?
    大家注意到方法体中可以用thisq个关键词,q里即代表了(jin)<form>的对象实例?

    l过q样的分析后Q以上情况就不难理解?jin)?x)

    view plaincopy to clipboardprint?
    <form action="index.jsp" method="post" onsubmit="submitTest();;"> 

    <form action="index.jsp" method="post" onsubmit="submitTest();;">q样写,overrideҎ(gu)的效果ؓ(f)Q?/p>

    view plaincopy to clipboardprint?
    Form.prototype.onsubmit = function(); {  
        submitTest();;  
    }; 

    Form.prototype.onsubmit = function(); {
        submitTest();;
    };
    在这里submitTest()虽然q回falseQ但我们只执行了(jin)此函敎ͼ没有对其l果q行M处理。?/p>

    view plaincopy to clipboardprint?
    <form action="index.jsp" method="post" onsubmit="return submitTest();;"> 

    <form action="index.jsp" method="post" onsubmit="return submitTest();;">
    overrideҎ(gu)的效果ؓ(f)Q?/p>

    view plaincopy to clipboardprint?
    Form.prototype.onsubmit = function(); {  
        return submitTest();;  
    }; 

    Form.prototype.onsubmit = function(); {
        return submitTest();;
    };
    q样Q我们利用到?jin)它的返回|辑ֈ?jin)预期效果?
    q样理解的话我想印象?x)深d多,׃易出错了(jin)

    l论Q?
    我们可以用Java里的思维方式来思考模拟JavaScript中的cM情况QJavaScript中基于prototype的面向对象技术也实是这样做的)(j)Q但他们毕竟q是有本质上的区别,如Java是强cd的,有严格的语法限制Q而JavaScript是松散型的。象上述Ҏ(gu)Q?/p>

    view plaincopy to clipboardprint?
    Form.prototype.onsubmit = function(); {    
    }; 

    Form.prototype.onsubmit = function(); { 
    };
    既可以有q回|又可以没有返回|在Java里是通不q的Q毕竟Java里面不能靠方法的q回g同来重蝲(overload)Ҏ(gu)Q而JavaScript中的重蝲要松散得多?



    jiafang83 2009-06-13 23:52 发表评论
    ]]>
    request.getParameter与request.getParameterValues的区?/title><link>http://www.aygfsteel.com/jiafang83/archive/2009/06/12/281840.html</link><dc:creator>jiafang83</dc:creator><author>jiafang83</author><pubDate>Fri, 12 Jun 2009 06:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/jiafang83/archive/2009/06/12/281840.html</guid><wfw:comment>http://www.aygfsteel.com/jiafang83/comments/281840.html</wfw:comment><comments>http://www.aygfsteel.com/jiafang83/archive/2009/06/12/281840.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jiafang83/comments/commentRss/281840.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jiafang83/services/trackbacks/281840.html</trackback:ping><description><![CDATA[<p>一?单的Ҏ(gu) </p> <p>request.getParameter用的比较多,相对熟?zhn)?</p> <p>request.getParameterValues(String   name)是获得如checkboxc(名字相同Q但值有多个Q的数据?nbsp;  接收数组变量 Q如checkobxcd     <br /> request.getParameterQString   nameQ是获得相应名的数据Q如果有重复的名Q则q回W一个的?. 接收一般变?Q如textcd </p> <p>例:(x) </p> <p>1. 三个名字相同的text标签</p> <p><br /> <input type="text" name="test" value="1" /> <br /> <input type="text" name="test" value="2" /> <br /> <input type="text" name="test" value="3" /> </p> <p>request.getParameterValues("test")   ----------------- [1, 2, 3]</p> <p>request.getParameter("test")             ------------------ 1</p> <p>${paramValues.test}</p> <p>${param.test}</p> <p>2. checkbox </p> <p> <input type="checkbox" name="habit" value="read">看书</p> <p> <input type="checkbox" name="habit" value="movie">?sh)?jing)</p> <p> <input type="checkbox" name="habit" value="game">游戏</p> <p>request.getParameterValues("habit") </p> <p>二、与此相关的话题------隐含对象 </p> <p>1. JSP隐含对象(Implicit Object)</p> <p><br />      所谓隐含对象,是指当编写jsp|页Ӟ不必做Q何声明就可以直接使用的对象?JSP2.0定义?jin)?ji)个隐含对?/p> <p>request response pageContext session application out conifg page exception</p> <p>q里只提一下request ?response 两个对象</p> <p>       request 对象表示客户端请求的内容Q比如我们从request中取得了(jin)用户输入的内容,实现?jin)javax.servlet.http.HttpServletRequest接口</p> <p>      response对象表示响应客户端的l果?/p> <p>上面我们使用?jin)request的两个方法getParameter ?getParameterValuesQ其实requestq有其他几个比较重要的方法,q里只涉?qing)几个获取请求参数的?gu)</p> <p>String getParameter(String name)                     取得name的参数?/p> <p>String[] getParameterValues(String name)        取得所有name的参数?/p> <p>Enumeration getParameterNames()                  取得所有的参数名称</p> <p>Map<String, String[]> getParameterMap()        取得request的所有参数的一个映?/p> <p>//</p> <p>Returns a java.util.Map of the parameters of this request. Request parameters are extra information sent with the request. For HTTP servlets, parameters are contained in the query string or posted form data. <br /> Returns: <br /> an immutable java.util.Map containing parameter names as keys and parameter values as map values. The keys in the parameter map are of type String. The values in the parameter map are of type String array. <br /> //</p> <p>response{其他几个隐含对象也有非帔R要的w䆾Q有Z(x)专门整理一下,宣扬一下它们的显赫C?/p> <p>2. EL隐含对象 </p> <p>EL即Experssion LanguageQ自JSP2.0后正式成为JSP的标准规范之一Q支持Servlet2.4/JSP2.0的Container也就相应的支持EL语法?</p> <p>一个常见的形式如,<c:out value="${ 3 + 7 * 4}" /></p> <p>EL的隐藏对象有11?PageContext PageScope RequestScope sessionScope applicationScope </p> <p>param paramValues header headerValues cookie initParam</p> <p>其中param ?paramValues卛_相应ServletRequest.getParameter(String name)和ServletRequest.getParameterValues(String name)</p> <p> </p> <p>转蝲Q?a >http://blog.csdn.net/moreorless/archive/2009/05/18/4199677.aspx</a></p> <img src ="http://www.aygfsteel.com/jiafang83/aggbug/281840.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jiafang83/" target="_blank">jiafang83</a> 2009-06-12 14:53 <a href="http://www.aygfsteel.com/jiafang83/archive/2009/06/12/281840.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript强制cd转换http://www.aygfsteel.com/jiafang83/archive/2009/06/09/280948.htmljiafang83jiafang83Tue, 09 Jun 2009 08:03:00 GMThttp://www.aygfsteel.com/jiafang83/archive/2009/06/09/280948.htmlhttp://www.aygfsteel.com/jiafang83/comments/280948.htmlhttp://www.aygfsteel.com/jiafang83/archive/2009/06/09/280948.html#Feedback2http://www.aygfsteel.com/jiafang83/comments/commentRss/280948.htmlhttp://www.aygfsteel.com/jiafang83/services/trackbacks/280948.html转蝲Qhttp://www.sucai.com/Tech/List2/17830.htm

    javascript是弱cd的语aQ所以强制类型{换还是比较重要的Q下面看一下它的几个强制{换的函数Q?/p>

    1. Boolean(value):把D{换成BooleancdQ?/p>

    2. Nnumber(value):把D{换成数字Q整型或点敎ͼ(j)Q?/p>

    3. String(value):把D{换成字符丌Ӏ?/p>

    我们先来看Boolean()Q在要{换的gؓ(f)“臛_有一字符的字W串”?#8220;?的数?#8221;?#8220;对象”Q那么Boolean()返回trueQ如果要转换的gؓ(f)“I字W串”?#8220;数字0”?#8220;undefined”Q?#8220;null”q些话,那么Boolean()?x)返回false。你可以用以下代码来试

    var t1 = Boolean("");//q回false,I字W串
    var t2 = Boolean("s");//q回trueQ非I字W串
    var t3 = Boolean(0);//q回falseQ数?
    var t3 = Boolean(1),t4 = Boolean(-1);//q回trueQ非0数字
    var t5 = Boolean(null),t6 = Boolean(undefined);//q回false
    var t7 = Boolean(new Object());//q回trueQ对?/p>

    再来看看Number()QNumber()与parseInt()和parseFloat()cMQ它们区别在于Number()转换是整个|而parseInt()和parseFloat()则可以只转换开头的数字部分Q例如:(x)Number("1.2.3"),Number("123abc")?x)返回NaNQ而parseInt("1.2.3")q回1、parseInt("123abc")q回123、parseFloat("1.2.3")q回1.2、parseFloat("123abc")q回123。Number()?x)先判断要{换的D否被完整的{换,然后再判断是调用parseInt()或parseFloat()。下面列?jin)一些D用Number()之后的结果:(x)

    Number(false)  0
    Number(true)  1
    Number(undefined)  NaN
    Number(null)  0
    Number("1.2")  1.2

    Number("12")  12
    Number("1.2.3")  NaN
    Number(new Object())  NaN
    Number(123)  123

    最后是String()Q这个以比较单了(jin)Q它可以把所有类型的数据转换成字W串Q如QString(false)---"false"、String(1)---"1"。它和toString()Ҏ(gu)有些不同Q区别在于:(x)

    var t1 = null;
    var t2 = String(t1);//t2的倹{"null"
    var t3 = t1.toString();//q里?x)报?br /> var t4;
    var t5 = String(t4);//t5的倹{"undefined"
    var t6 = t4.toString();//q里?x)报?/p>

    jiafang83 2009-06-09 16:03 发表评论
    ]]>
    JAVA版汉字{拼音~写E序http://www.aygfsteel.com/jiafang83/archive/2009/06/08/280651.htmljiafang83jiafang83Mon, 08 Jun 2009 06:28:00 GMThttp://www.aygfsteel.com/jiafang83/archive/2009/06/08/280651.htmlhttp://www.aygfsteel.com/jiafang83/comments/280651.htmlhttp://www.aygfsteel.com/jiafang83/archive/2009/06/08/280651.html#Feedback3http://www.aygfsteel.com/jiafang83/comments/commentRss/280651.htmlhttp://www.aygfsteel.com/jiafang83/services/trackbacks/280651.html阅读全文

    jiafang83 2009-06-08 14:28 发表评论
    ]]>
    վ֩ģ壺 | | | ݳ| ӻ| | ԫ| ͬ| | | | | | | | ƽ| ˷| ̶| ͭɽ| | ǡ| ̩| | | | | | | ո| | | ̫| ȫ| | ͬ| Ӫ| Ƽ| | | | ̫|