下載地址:www.oksonic.cn www.oksonic.com.cn
1. 介紹
用戶的增、刪、改操作
2. 準(zhǔn)備
a) NetBean5.5中文版
b) JDK
c) Visual Web Pack 5.5
3. 開發(fā)步驟
a) 新建項目user
i. 拷貝mysql的jdbc驅(qū)動到netbean安裝目錄下的common/lib目錄下,沒有這一步的話在運行程序時會出現(xiàn)找不到jdbc驅(qū)動的錯誤提示
b) 創(chuàng)建數(shù)據(jù)源
i. 創(chuàng)建用戶表
c) 使用數(shù)據(jù)組件
i. 設(shè)置綁定數(shù)據(jù)源
ii. 更改姓名、密碼字段為可編輯狀態(tài)
d) 增加新用戶事件
public String add_action() { try { // 創(chuàng)建一個空的記錄行 RowKey rk = usersDataProvider.appendRow(); usersDataProvider.setCursorRow(rk); } catch (Exception e){ error(e.getMessage()); } return null; }
e) 增加保存事件
public String save_action() { try{ usersDataProvider.commitChanges(); usersDataProvider.refresh(); } catch (Exception e){ error(e.getMessage()); } return null; }
f) 增加刪除事件
public String delete_action() { try{ RowKey rk = tableRowGroup1.getRowKey(); usersDataProvider.removeRow(rk); usersDataProvider.commitChanges(); usersDataProvider.refresh(); } catch (Exception e){ error(e.getMessage()); } return null; }
4. 參考資料
Java Studio Creator 教程
下載地址:www.oksonic.cn
1. 準(zhǔn)備
a) JDK
b) NetBean5.5 http://www.netbeans.org/
c) Visual Web Pack http://www.netbeans.org/
2. 開發(fā)步驟
a) 安裝NetBean5.5、安裝Visual Web Pack
b) 創(chuàng)建一個簡單的登錄項目
i. 新建一個Visual Web工程名稱為login
ii. 拖動一個文本框組件和一個口令字段組件到頁面中,修改ID屬性為username、password,修改Label屬性為姓名、密碼
iii. 拖動一個按鈕組件到頁面中,修改按鈕的ID為login,修改text屬性為登錄
iv. 雙擊登錄按鈕界面跳轉(zhuǎn)到代碼編輯頁,修改光標(biāo)所在的代碼為以下內(nèi)容:
public String login_action() { // 待做事項:處理按鈕單擊操作。返回的值是一個導(dǎo)航 // 條件名稱,如果它為 Null,則返回到同一頁。 return "success"; }
根據(jù)注釋內(nèi)容可以看到這里的return的返回值為success,根據(jù)這個返回值,我們只需要配置相應(yīng)的導(dǎo)航就可以控制頁面到想轉(zhuǎn)的地方了
v. 新建一個welcome頁
vi. 在welcome頁中加入一個靜態(tài)文本組件,并修改它的text屬性為“您已經(jīng)成功登錄了!”
vii. 點擊左邊樹型菜單中的“頁面導(dǎo)航”項進(jìn)入頁面導(dǎo)航的配置頁,這時可以看到兩個圖標(biāo),一個是Page1.jsp,另一個是welcome.jsp,在Page1.jsp圖標(biāo)的右邊可以看到一個小方塊,點擊方塊并拖動到welcome.jsp文件上后放開鼠標(biāo),這時就看到有一條線將兩個圖標(biāo)連在一塊了,上面還有文字信息,點中這條線后,修改它的屬性“結(jié)果”為“success”這里的“success”就是根據(jù)上面的login_action方法中所返回的“success”文字來進(jìn)行判斷,只要文字相同就跳轉(zhuǎn)到welcome頁面
viii. 按下F6或是點擊菜單項的“運行”à“運行主項目”就可以啟動tomcat進(jìn)行測試了,項目啟動后會自動打開IE并顯示當(dāng)前頁面,點擊登錄按鈕就可以看到頁面跳轉(zhuǎn)到了welcome.jsp了
c) 表單驗證
i. 修改文本框組件和口令字段的required屬性為true,也就是打上鉤,這里的意思是這兩個文本框必須輸入內(nèi)容后才可以提交,這時進(jìn)行測試就可以看到效果了,不輸入內(nèi)容就提交的話文字信息就會變?yōu)榧t色的了
ii. 加入長度驗證器,將文本框組件和口令字段組件的validator屬性從下拉列表中選擇lengthValidator1,在左邊的樹型菜單中選擇lengthValidator1,修改maximun和minimun屬性為10和2,這里的意思是驗證用戶輸入數(shù)據(jù)的最大長度和最小長度分別為10個字符和2個字符
d) 調(diào)試代碼
i. 雙擊登錄按鈕進(jìn)入代碼編輯頁面加入以下代碼
public String login_action() { // 待做事項:處理按鈕單擊操作。返回的值是一個導(dǎo)航 // 條件名稱,如果它為 Null,則返回到同一頁。 if(!this.username.getValue().equals("oksonic")) return null; return "success"; }
這里的意思是判斷用戶輸入的姓名是否是“oksonic”不是的話就返回null,返回值為null的話就是回到提交頁面
ii. 按下F5或是點擊菜單項的“運行”à“調(diào)試主項目”就可以啟動tomcat進(jìn)行調(diào)試了,在上面代碼的if語句前打上一個斷點,在頁面中輸入信息后點登錄按鈕,這時就可以看到代碼運行到斷點處就停止了,這時可以使用快捷鍵進(jìn)行操作。F7是跳到下一行代碼,Ctrl+F5是繼續(xù)執(zhí)行,其它的可以查看菜單“運行”里的其它菜單項后的快捷方式
本教程到此結(jié)束,謝謝收看!
聯(lián)系方法: oksonic@tom.com
其它教程下載: www.oksonic.cn
速動畫教程第三十一集
下載地址:www.oksonic.cn www.oksonic.com.cn
使用Axis2構(gòu)建Hello應(yīng)用
package org.example.www.hello; public class HelloSkeleton { public org.example.www.hello.HelloResponse hello( org.example.www.hello.Hello param0) { try { HelloResponse response = new HelloResponse(); response.setOut(param0.getIn() + "歡迎你的到來!"); return response; } catch (UnsupportedOperationException e) { throw e; } } }
public void testHello() throws java.lang.Exception { String url = "http://localhost/axis2/services/Hello"; HelloStub stub = new HelloStub(url); Hello hello = (Hello) getTestObject(Hello.class); hello.setIn("oksonic"); System.out.println(stub.Hello(hello).getOut()); assertNotNull(stub.Hello(hello)); }
這里使用到了Junit,所以還需要將Junit的jar包加到項目中
為了制作更多更好的錄像教程,希望大家多多提供相關(guān)資料!!!
聯(lián)系方法:
http://www.oksonic.cn
Email: oksonic@tom.com
QQ: 71279650
單點登錄CAS的使用方法
下載地址: http://www.oksonic.cn
一.環(huán)境
a) Windows 2003 sp1
b) JDK
c) Tomcat
d) MySql5.0
二.準(zhǔn)備
a) cas-server-
b) cas-client-java-
c) 安裝完jdk和jre后,需要配置JAVA_HOME和PATH=%JAVA_HOME%\bin
三.步驟
a) 配置Tomcat使用SSL安全認(rèn)證
i. 使用命令提示符進(jìn)入到Tomcat安裝目錄
ii. 生成服務(wù)端密匙,執(zhí)行以下命令
keytool -genkey -alias 別名keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore
例:keytool -genkey -alias casserver -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore
運行后出現(xiàn)提示信息:
輸入keystore密碼:changeit 這里也填入主機名
您的名字與姓氏是什么?
[Unknown]: localhost 這里一定要填寫正確的主機名
您的組織單位名稱是什么?
[Unknown]: oksonic
您的組織名稱是什么?
[Unknown]: oksonic
您所在的城市或區(qū)域名稱是什么?
[Unknown]:
您所在的州或省份名稱是什么?
[Unknown]:
該單位的兩字母國家代碼是什么
[Unknown]: cn
CN=localhost, OU=oksonic, O=oksonic, L=kunming, ST=yunnan, C=cn 正確嗎?
[否]: y
完成后會在Tomcat目錄生成一個名為casserver的文件
iii. 生成服務(wù)端證書,執(zhí)行以下命令
keytool -export -alias casserver -storepass changeit -file server.cer -keystore server.keystore
命令執(zhí)行后生成一個server.cer的證書文件
iv. 生成客戶端密匙,執(zhí)行以下命令
keytool -genkey -alias casclient -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore
v. 生成客戶端證書,執(zhí)行以下命令
keytool -export -alias casclient -storepass changeit -file client.cer -keystore client.keystore
命令執(zhí)行后生成一個server.cer的證書文件
vi. 導(dǎo)入證書文件到cacerts 文件中,執(zhí)行以下命令
keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit
keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit
把cacerts文件,拷貝到<JAVA_HOME>\jre\lib\security目錄下
vii. 拷貝cas-server-
viii. 修改Tomcat的配置文件server.xml把以下補注釋的內(nèi)容打開
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
加入紅字部份后的內(nèi)容如下:
<Connector port="8443" maxHttpHeaderSize="8192"
keystorePass="changeit" keystoreFile="/server.keystore"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
b) 配置客戶端應(yīng)用
i. 使用Tomcat的例子jsp-examples來做客戶端
ii. 打開項目中的web.xml文件,加入以下配置信息
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>
edu.yale.its.tp.cas.client.filter.CASFilter
</filter-class>
<init-param>
<param-name>
edu.yale.its.tp.cas.client.filter.loginUrl
</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>
edu.yale.its.tp.cas.client.filter.validateUrl
</param-name>
<param-value>
https://localhost:8443/cas/proxyValidate
</param-value>
</init-param>
<init-param>
<param-name>
edu.yale.its.tp.cas.client.filter.serverName
</param-name>
<param-value>localhost:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/ *</url-pattern>
</filter-mapping>
拷貝cas-client-java-
現(xiàn)在可以啟動Tomcat來測試一下是否能夠進(jìn)入到登錄頁
c) 配置CAS使用數(shù)據(jù)庫進(jìn)行驗證
i. 在MySql中的Test庫中新建app_user表
CREATE TABLE `app_user` (
`username` varchar(30) NOT NULL default '',
`password` varchar(45) NOT NULL default '',
PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
添加以下用戶:
INSERT INTO `app_user` (`username`,`password`) VALUES
('oksonic','oksonic'),
('oksonic1','oksonic1');
ii. 修改cas項目中的deployerConfigContext.xml文件
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
注釋掉該行,在其下加入:
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="sql" value="select password from app_user where username=?" />
<property name="dataSource" ref="dataSource" />
</bean>
并添加一個bean:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql://localhost:3306/test</value></property>
<property name="username"><value>test</value></property>
<property name="password"><value>test</value></property>
</bean>
拷貝cas-server-jdbc-
此文檔來源于網(wǎng)絡(luò) http://www.oksonic.cn/ 整理
下載: 技術(shù)資料
1.? Java
a)???????? 基礎(chǔ)
b)??????? J2ee
???????????????????????? i.????????????? Struts
?????????????????????? ii.????????????? Hibernate
????????????????????? iii.????????????? Spring
???????????????????? iv.????????????? Jsf
?????????????????????? v.????????????? Jaas
???????????????????? vi.????????????? Log4j
??????????????????? vii.????????????? 報表
????????????????? viii.????????????? Webwork2
???????????????????? ix.????????????? Tapestry
?????????????????????? x.????????????? Digester
???????????????????? xi.????????????? Quartz
c)??????? J2me
d)??????? 其它
e)???????? Web Service
f)???????? 工作流
g)??????? 錯誤展示
h)??????? 報表
i)?????????
j)????????? eXtremeComponents
k)??????? 服務(wù)器
l)????????? Groovy
m)????? Velocity
n)??????? 插件
o)??????? 多線程
p)??????? Maven2
q)??????? Ant
r)???????? Jstl
s)???????? Junit
t)????????? POI
2.? .net
3.? Html
4.? 網(wǎng)絡(luò)
5.? Linux
6.? Windows
7.? 黑客
8.? Php
9.? Sql server
10.????????????? 方案
11.????????????? VB
12.????????????? 軟件工程
13.????????????? Ruby On Rails
14.?????????????
15.????????????? DOS
16.????????????? UNIX
17.????????????? 美工 / 動畫
18.????????????? Oracle
19.????????????? 軟件測試
20.????????????? SOA
錄像下載: http://sonic.peakle.net/download/sonic019.rar
臨時下載: http://this.oksonic.cn 下載欄目,需要注冊用戶
?
開發(fā)環(huán)境:Eclipse 3.1.1? MyEclipse 4.1.1?? Tomcat 5.5
此教程參考文章:http://www.aygfsteel.com/lucky/archive/2006/02/26/32479.html
先下載發(fā)行包 http://sourceforge.net/projects/extremecomp
將包內(nèi)的所有 jar 文件拷貝到項目的 WEB-INF/lib 目錄中
將 dist 目錄中的 extremecomponents.tld 文件拷貝到 WEB-INF 中
將 test 目錄中的 test.jsp 文件拷貝到 webroot 目錄中
將 images 文件夾拷貝到 webroot 目錄中
需要對原文件 test.jsp 修改!
修改了標(biāo)簽路徑
然后刷新一下工程,布署工程,起動 Tomcat 打開瀏覽器,輸入 http://localhost/table/test.jsp 進(jìn)行測試
看一下 test.jsp 文件內(nèi)容
以下是創(chuàng)建一個 list 集合,list 集合中是一組? java.util.HashMap 集合
<% java.util.List presidents = new java.util.ArrayList(); %>
<% java.util.Map president = new java.util.HashMap(); %>
<% president.put("name", "George Washington"); %>
<% president.put("nickname", "Father of His Country"); %>
<% president.put("term", "1789-1797"); %>
<% presidents.add(president); %>
<% president = new java.util.HashMap(); %>
<% president.put("name", "John Adams"); %>
<% president.put("nickname", "Atlas of Independence"); %>
<% president.put("term", "1797-1801"); %>
<% presidents.add(president); %>
<% president = new java.util.HashMap(); %>
<% president.put("name", "Thomas Jefferson"); %>
<% president.put("nickname", "Man of the People, Sage of Monticello"); %>
<% president.put("term", "1801-09"); %>
<% presidents.add(president); %>
<% president = new java.util.HashMap(); %>
<% president.put("name", "James Madison"); %>
<% president.put("nickname", "Father of the Constitution"); %>
<% president.put("term", "1809-17"); %>
<% presidents.add(president); %>
<% president = new java.util.HashMap(); %>
<% president.put("name", "James Monroe"); %>
<% president.put("nickname", "The Last Cocked Hat, Era-of-Good-Feelings President"); %>
<% president.put("term", "1817-25"); %>
<% presidents.add(president); %>
<% president = new java.util.HashMap(); %>
<% president.put("name", "John Adams"); %>
<% president.put("nickname", "Old Man Eloquent"); %>
<% president.put("term", "1825-29"); %>
<% presidents.add(president); %>
<% request.setAttribute("pres", presidents); %>
以下代碼使用
eXtremeComponents
的標(biāo)簽來生成表格
??? <ec:table
??????? items="pres"
??????? action="${pageContext.request.contextPath}/test.jsp"
??????? imagePath="${pageContext.request.contextPath}/images/table/*.gif"
??????? title="Presidents"
??????? width="60%"
??????? rowsDisplayed="5"
??????? >
??????? <ec:row>
??????????? <ec:column property="name"/>???
??? 顯示的列
??????????? <ec:column property="nickname"/>
??????????? <ec:column property="term"/>
??????? </ec:row>
??? </ec:table>
這集錄像的內(nèi)容很簡單,用來測試一下新的錄像制作工具!!!
bye!!!
此次制作過程完全開放(開源)包括一切:需求文檔、設(shè)計文檔、UML圖例、源代碼、開發(fā)日志等,希望得到大家的幫助!!!
這是我的博客
http://oksonic.blogjava.net
email: oksonic@tom.com
OA群已滿!!!
上傳一些OA資料
OA需求分析說明書
2FBird辦公自動化系統(tǒng).doc
J2EE OA項目開發(fā)日記.doc
OA需求分析書.doc
THOA辦公自動化系統(tǒng).doc
辦公自動化系統(tǒng).doc
點這里下載
因為文章太長,網(wǎng)頁中無法完整提交,所以詳細(xì)說明請查看下載包中的文檔。
下載地址:http://sonic.peakle.net/download/sonic017.rar
文件大小:32,795K
jsf + spring + hibernate 開發(fā)示例
以下是用例圖,用戶可以進(jìn)行以下操作:登錄、瀏覽、注冊、修改、刪除、退出
創(chuàng)建 user 工程
添加 jsf 框架、spring 框架、hibernate 框架
這里的JSF框架在MyEclipse中使用MyFaces
在添加spring框架時,選中所有的可選項,具體應(yīng)該使用哪一個我也分不清,創(chuàng)建完成后需要對 web.xml 文件進(jìn)行配置,加入以下內(nèi)容:
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
在添加完Hibernate時,記得把jdbc文件拷貝到lib目錄
使用三層結(jié)構(gòu): WEB 層、MODEL 層和 DATA 層
啟動mysql并創(chuàng)建USERS表
CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(100) NOT NULL default '',
`password` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
)
新建三個包,分別為:com.web、com.model、com.data
其中 com.web 包中包含以下包:
com.web.bo、com.web.vo
其中 com.model 包中包含以下包:
com.model.service、com.model.service.impl、com.model.exception
其中 com.data 包中包含以下幾個包:
com.data.dao、com.data.dao.impl
包 com.web.bo ,用來存放映射后的BO(業(yè)務(wù))層的對像
包 com.web.vo ,用來存放映射后的VO(業(yè)務(wù))層的對像
包 com.model.service , 用來存放 service(服務(wù))層的對像的接口
包 com.model.service.impl , 用來存放 service(服務(wù))層的對像接口的實例
包 com.model.exception ,用來存放自定義的異常處理類
包 com.data.dao ,用來存放DAO(數(shù)據(jù)訪問)層的對像的接口
包 com.data.dao.impl ,用來存放DAO(數(shù)據(jù)訪問)層的對像接口的實例
配置完成 hibernate 后對表進(jìn)行映射操作,將映射文件保存到com.web.bo包內(nèi)
創(chuàng)建一個異常處理類 UserException.java,內(nèi)容如下:
public class UserException extends Exception {
public UserException(){
super();
}
public UserException(String msg){
super(msg);
}
public UserException(String msg, Throwable cause) {
super(msg, cause);
}
}