惡補J2EE Web 開發(講稿大綱)
這篇文章是給具備一些基本的j2ee開發的兄弟們看的
1 Webwork 2 作為MVC
要讓伺服器支援webwork,首先需要對web伺服器的web.xml進行配置,這裡用/*,表示所有請求都作為webwork的action,也可以使用*.action, 這樣只有字尾名為action的才執行。
web.xml
webwork
com.opensymphony.webwork.dispatcher.FilterDispatcher
webwork
/*
配置好上面以後,webwork就可以執行了,我們新增兩個action試試
xwork.xml
/WEB-INF/jsp/employee/employeeList.jspx
/WEB-INF/jsp/employee/employeeForm.jspx
employee.action
這裡新增了一個action叫做employee,也就是說,所有請求http://site/employee 訪問,都被看成觸發一個action.其具體內容如下:
這是一個最簡單的action,它起到了控制器的作用,實現了CRUD的基本功能,程式碼非常簡介。幾乎和PHP,ROR差不多
EmployeeAction.java
public class EmployeeAction extends ActionSupport implements Preparable {
public String execute() throws Exception { //如果URL沒有指定Action,預設呼叫它
return list(); //轉到list
}
public String list() {
return "list";
}
public String add() {
employee = new Employee();
return Action.INPUT;
}
public String edit() {
employee = employeeDao.getEmployee(id);
return Action.INPUT;
}
public String save() {
if (nullOrZero(employee.getEmployeeId())) {
employeeDao.insert(employee);
} else {
employeeDao.update(employee);
}
return Action.SUCCESS;
}
public String delete() {
employeeDao.delete(id);
return Action.SUCCESS;
}
public void prepare() {
departmentList = departmentDao.getAllDepartments(); //用於selectbox中下拉選單
employeeList = employeeDao.getAllEmployees();
}
}
webwork是基於MVC2的,因此上面的控制器對應下面兩個模板檔案。當然實際應用中不一定所有的介面都要採用MVC.
employeeList.jspx
employeeForm.jspx
我們看到,這個表單非常簡單,由於其名字的規範定義。webwork的action響應時,會自己裝載其中的變數,和struts的formbean差不多。
EmployeeAction-validation.xml
18
65
可以通過獨立的檔案來定義欄位驗證
EmployeeAction.properties
errors.required.age.limit=Please provide an age between ${min} and ${max}.
2 簡化訪問資料庫
3 部分使用Spring連線系統原有資源,例如EJB
要使webwork支援spring,只要簡單的下面的配置即可
web.xml
contextConfigLocation
/WEB-INF/classes/net/reumann/demo/spring.xml
org.springframework.web.context.ContextLoaderListener
修改webwork的配置檔案objectFactory=spring
webwork.properties
webwork.devMode=false
webwork.objectFactory=spring
然後定義好需要IoC的元件
spring.xml
你就可以在action中自由的IoC了
action
public EmployeeAction(EmployeeDao employeeDao,
DepartmentDao departmentDao) {
this.employeeDao = employeeDao;
this.departmentDao = departmentDao;
}
頁面結構設計
1 jsp include (部分使用taglib)
name=”birthday”>
2 sitemesh
3 使用OA皮膚框架
4 ajax + dojo
業務層的設計
1 action中直接呼叫JDBC SQL/Proc, 即action + jdbc
2 action + service/session bean + dao + jdbc/ibatis/hibernate/entity bean (兩個介面,兩個實現)
public class DepartmentDaoService implements DepartmentService {
DepartmentDao dao = new DepartmentDaoIbatisImpl();
}
3 沒有service層,只有action + dao + jdbc/ibatis/hibernate/entity bean ,(如上面的EmployeeAction)
其它一些Struts的比較
Struts不是一個框架,而是一組專案
兩個框架:
Action: Action model
Shale: Component model
Action 和 Shale 會盡可能多的共享程式碼
各種子專案,例如Tiles
Struts 2將是Webwork 2.2和一些Struts的特性的結合
Class (re)Loading
1 Java 也可以像指令碼語言那樣支援 edit-refresh 風格的開發
2 Janino, Eclipse compiler 以及一些其他的編譯器都使用 Commons-JCI is used
3 所有的庫和框架都必須擺脫editcompile-package-deploy-wait-refresh的思想
Webwork 允許動態重新裝載xml配置檔案 (例如, 自動重新裝載 actions.xml).
webwork.properties: webwork.configuration.xml.reload=true
EclipseWork 是Eclipse的WebWork外掛
http://eclipsework.sourceforge.net/
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1144287
相關文章
- 演講稿 ---- 10年 測試開發
- web開發_j2eeWeb
- 活動演講稿
- Python 自動化測試開發大綱Python
- 《大話WEB開發》Web
- 移動端 web 開發的設計稿與工作流Web
- 9種基於Web的演講稿燈片解決方案Web
- Python開發系列課程彙總 - 課程大綱Python
- J2EE Web開發使用Ajax技術的核心所在Web
- spark大綱Spark
- 一封Qlikview的演講稿View
- web前端開發教程,最全JavaScript入門講解Web前端JavaScript
- 學習大資料必須瞭解的大資料開發課程大綱大資料
- J2EE開發筆記(一)—— J2EE開發環境配置筆記開發環境
- J2EE開發工具
- Java面試大綱Java面試
- 教學大綱
- Less動態css-演講稿(ppt)CSS
- j2ee開發的困境
- Web前端開發資源大薈萃Web前端
- go 基礎大綱Go
- 設計模式-大綱設計模式
- Android面試大綱Android面試
- 前端 CSS 面試大綱前端CSS面試
- 設計模式大綱設計模式
- 講講我的開發生涯
- web前端開發的六大開發工具,四大工作職責!Web前端
- 招聘J2EE開發人員
- 10 大常見的web開發錯誤Web
- Android工程模組化平臺設計-講稿Android
- 【新炬網路名師大講堂】j2ee與weblogic簡介Web
- 網路技術發展趨勢-- 筆記大綱筆記
- J2EE開發常用開源框架技術框架
- React原始碼精度大綱React原始碼
- 軟體測試大綱
- Pandas大綱學習-0
- Oracle AWR報告大綱Oracle
- Open3D 大綱3D