2011年4月12日 星期二

Spring 教學 - Spring 整合 Hibernate

Spring 除了對 JDBC 進行了封裝之外,也對於目前眾多的 ORM 工具提供了集成

而目前較流行的 ORM 解決方案大概就是 Hibernate 了,所以來看看如何用Spring來整合吧

首先以下的測試環境為 Eclipse 一般的 Java Application,並搭配 DBCP 連接池

專案建立好後  在 src 目錄下先來建立一下測試用的映射文件以及 DAO ((model 省略...

注意一點的是 映射文件和 model 盡量放在同一目錄下


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
  <class name="org.pojo.Good" table="goods" >
      <id name="id" column="id">
          <generator class="native" />
      </id>
      <property name="viewpic" column="viewpic" />
      <property name="name" column="name" />
      <property name="price" column="price" />
      <property name="storenum" column="storenum" />
      <property name="maaker" column="maker" />
      <property name="info" column="info" />
      <property name="uptime" column="uptime" />
  </class>
</hibernate-mapping>

2011年4月9日 星期六

JSP 教學 - org.apache.jasper.JasperException:Invalid standard action

at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
at org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1172)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1461)
at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1670)
at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1020)
at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1288)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1462)
at org.apache.jasper.compiler.Parser.parse(Parser.java:137)
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
.......

這類錯誤基本上是初學者或是老手都可能常犯的錯誤

一個不小心有時還真的不知道錯在哪

簡言之  如果在JSP裡有用 JSP 的標準標籤的 <jsp:useBean> 

而且錯誤有此錯誤訊息 寫出錯的行數是在 <jsp:useBean> 的話

那要注意一下 你是不是寫成了 <jsp:usebean>


B要大寫不是小寫喔 !!

2011年4月2日 星期六

Java 程式 - 分禮物

每年的耶誕節,都會有交換禮物的活動。現在有一群人,要交換彼此的禮物,但是每個人都不能拿到自己準備的禮物,且每個都只有會拿到一件禮物,請問共有幾種情形,並把所有可能情形印出來。
輸入說明:
第一列輸入一個正整數n (<20)。其後有n列,每一列代表每個人,每一列之資料依序為人名、禮物名。請注意人名與禮物名為英文字母。

輸出說明:
第一列顯示出可以有k種資料,其後顯示1組解列,其資料按照原本人名輸入的順序排列,即人名和禮物名視為同一組,一列中會有很多組,組與組間用逗號區分,用人名與禮物名用空白分隔。
範例:

Sample Input:
Sample Output:
A1 GIFT1
B1 GIFT2
C1 GIFT3

2
A1 GIFT2,B1 GIFT3,C1 GIFT1
A1 GIFT3,B1 GIFT1,C1 GIFT2




2011年4月1日 星期五

Java 程式 - 螺旋三角形的邊長問題

問題描述:

    螺旋圖形由小至大的正三角形依序排列而成,如圖所示

圖中的每個正三角形中的數字代表其邊長

三角形的排列方式為由內到外螺旋排列而成

每個三角形其邊長為鄰近三角形邊長之和

三角形的邊長與三角形的螺旋排序(由內到外),其序列編號與所對應的三角形邊長如下所示:
序列編號
0
1
2
3
4
5
6
7
8
9
10
11
邊長
1
1
1
2
2
3
4
5
7
9
12
16


請寫出程式,求出任意序列編號時,求出對應的正三角形的邊長為多少?
輸入說明:
輸入一個小於70的三角形序列編號,例如8
輸出說明:
輸出序列編號8對應的三角形邊長7