Author Archives: vincent

ognl.MethodFailedException: Method “setQty” failed for object com.amjet.sales.model.Order

最近寫一個 struts2 action 傳回 json 資料,測試時發生上面的錯誤。原因是頁面的 jquery 元件透過 post method 送出 “order.qty” 的參數,struts2 的 interceptor 在收到參數後想要設定 action 內 order 物件的 qty property,事實上我不需要 struts2 作 parse 參數及設定物件的動作,參數我想在 action 內用 request.getParameter() 自己接取處理。以下的 action 設定範例可以讓 interceptor 忽略開頭為 order 的參數,由於 struts2 預設也會忽略開頭為 dojo,struts 的參數,我們也一併保留:

<action name=”updateSell” method=”jsonUpdate”
class=”com.amjet.sales.web.action.SellAction”>
<interceptor-ref name=”defaultStack”>
<param name=”params.excludeParams”>^order\..*,dojo\..*,^struts\..*</param>
</interceptor-ref>

<result type=”json”>
<param name=”target”>jquery</param>
</result>
</action>

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 3.00 out of 5)
Loading...

安裝印表機於無 X window Ubuntu server

由於 Ubuntu server 預設並未安裝 KDE 或 Gnome,在沒有 GUI 管理工具可運用的情況下找到這個方法。

首先安裝印表機驅動程式,以 HP 產品為例,需要安裝 hpijs。

接下來安裝 cups 列印管理系統,cups 預設只服務 localhost port 631,所以記得修改 /etc/cups/cupsd.conf 的網路設定及認證服務。

完成以上設定後只要連到 http://<cups host ip>:631 就可以新增印表機及管理印表作業。

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Fedora 11 安裝筆記

Fedora 11 已經在 6/9 release 了,最近安裝測試了一下,順便作個筆記。

音效

跟前面版本一樣全面採用 pulseaudio,同樣網路上有不少人反應音效部份有問題。如果不想花太多時間找問題,還是可以退回去用 oss 或 alsa。

oss: 只要改 /etc/modprobe.d/dist-oss.conf,把最後一行前面的 # 拿掉

alsa: 必須移除 alsa-plugins-pulseaudio 套件

以上兩個步驟都必須重新開機。oss、alsa 要正常運作必須注意一下相關 device 的 permission,我之前文章介紹用 hal 設定 device permission 在 Fedora 11 仍然適用。

rsyslog 無法接收遠端設備 log

前面版本的 -r 參數已經不存在了,必須修改 /etc/rsyslog.conf 把以下2行前面的 # 拿掉

$ModLoad imudp.so
$UDPServerRun 514

x64 flashplayer

Adobe 已經提供測試版 64bit flash player 下載,把 libflashplayer.so 複製到 /usr/lib64/mozilla/plugins 目錄即可。

service 管理

不知道是不是我操作方式有問題,我在 XFCE 選單 Administration -> Services 叫出設定畫面,Enable、Disable、設定 run level 都無法生效,只好改用 chkconfig。

套件管理

yum 在安裝或更新套件時很容易碰到 mirror site 連不上或者連上後下載很慢,這時候可以考慮安裝 yum-plugin-fastestmirror 套件,先找出可用而且速度快的 mirror 再開始下載,大量更新時可以節省不少時間。

將預設的 sendmail 換成 postfix

當然要先安裝 postfix 套件,安裝完後要更改系統 MTA 相關設定,system-switch-mail 這個套件可以協助我們完成必要的設定,安裝完後執行 system-switch-mail 即可選擇已安裝的 MTA。

Serial console

有了 serial console 伺服器不用安裝顯示卡,不僅節省電力更少一個零組件故障的風險,好處多多。首先要修改 /boot/grub/menu.lst 第一行要 comment out,後面2行是新增的,這裡設定是以 COM1 為例

#hiddenmenu
serial –unit=0 –speed=38400 –word=8 –parity=no –stop=1
terminal serial

以下是 kernel 載入設定,粗體部份是 serial console 必須加入的設定

kernel /vmlinuz-2.6.29.4-167.fc11.x86_64 ro root=<UUID> quiet console=ttyS0,38400n8

另外要設定讓 ttyS0 接受 user 登入,以前是在 /etc/inittab,現在 Fedora 11 是透過 /etc/event.d/serial 自動設定,只要 kernel 有收到 console 的參數,那個 tty 就會自動啟動一個 agetty process 管理。唯一要注意的是如果兩端是用 null modem 系統 boot 起來後看不到 login prompt 在 /etc/event.d/serial 找以下這行

exec /sbin/agetty /dev/$1 $2 vt100-nav

改成

exec /sbin/agetty -L /dev/$1 $2 vt100-nav

cups web 界面執行管理功能時出現 426 Upgrade Required

web 界面預設執行管理作業時會導到 ssl 頁面,如果不想用 ssl 只要帳號、密碼認證的話可以修改 /etc/cups/cupsd.conf,加入以下這行

DefaultEncryption IfRequested

印表問題

從 windows client 送 job 到 cups 一直出現以下的錯誤訊息

(/usr/lib/cups/filter/foomatic-rip) crashed on signal 11

已經確定是有 bug 了,希望套件可以儘快更新

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

當速成或倉頡輸入法打不出字時

我一直是用速成輸入法在打中文,但是有一部份字拆不出前後碼的話,就要先用注音輸入後再轉回速成,這種情形不但不方便也影響到輸入的速度。最近在網路上看到一篇文章終於找到治本的方法,可以設定注音輸入法在輸入字後顯示該字的速成碼,這樣子不會拆的字用注音先打個幾次就會記住,慢慢的需要注音輸入法的次數也愈來愈少了,設定方法如下(Windows XP SP3):

  1. 控制台 開啟 地區及語言選項
  2. 選擇 語言 分頁再點選 文字服務和輸入語言詳細資料 按鈕
  3. 選擇要顯示拆字碼的輸入法再按 屬性
  4. 查詢組字字根 的方選取要顯示的輸入法即可

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

open source 弱點掃瞄 (vulnerability scanner) 工具

過去提到免費弱點掃瞄工具,nessus 絕對是首選。不過 nessus 在被收購後,從第3版起只提供 binary 下載,而且需要申請啟動碼,使用上有許多限制。目前比較常用 OpenVAS 是以 nessus 2.0 原始碼為基礎的軟體開發專案,提供一個免費使用的 nessus 替代品。

目前 ubuntu、fedora 都內建 OpenVAS 套件了,以最新發行的 ubuntu 9.04 為例只要安裝以下套件

openvas-server

由於 plugin (用來掃瞄弱點的 script) 尚未納入 ubuntu 套件,必須自行安裝,否則 sever 無法啟動,大略程序如下:

  1. 安裝 openvas-server-dev、libglib2.0-dev、libssl-dev、libgtk2.0-dev 套件
  2. 下載 plugin 套件
  3. 解開 plugin 套件,在目錄下執行 ./configure、make install
  4. 調整設定檔 plugin 目錄位置

啟動 server 前請先調整 /etc/default/openvas-server 內的參數,預設值是 listen 127.0.0.1 的 9390 port。

client 部份 ubuntu bundle 的是 1.0.4 版,可以勉強連上  2.0 的 server 但是運作不正常;Windows 目前提供 1.0.3 版下載,經測試無法與 2.0 的 server 建立連線。目前看來只有自行 compile 2.0.3 版的 client 才能正常運作了。

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...