国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運(yùn)營 > Java Web初學(xué)者探索學(xué)習(xí)筆記6—快速開發(fā)項目實例

Java Web初學(xué)者探索學(xué)習(xí)筆記6—快速開發(fā)項目實例

時間:2023-05-24 14:57:02 | 來源:網(wǎng)站運(yùn)營

時間:2023-05-24 14:57:02 來源:網(wǎng)站運(yùn)營

Java Web初學(xué)者探索學(xué)習(xí)筆記6—快速開發(fā)項目實例:

一、需求分析

目前,javaweb項目的需求比較通用和類似,主流的有辦公自動化系統(tǒng)、小型信息管理系統(tǒng)、電商系統(tǒng)等,因而其需求分析也基本比較常見,對照已有系統(tǒng)的需求分析進(jìn)行刪改即可。

二、數(shù)據(jù)庫搭建

構(gòu)建一個項目,在需求分析完后,一般先進(jìn)行數(shù)據(jù)庫搭建,在搭建數(shù)據(jù)庫之前,首先進(jìn)行PD設(shè)計,即用powerdesign(或visio等)繪制出泳道圖和類圖,泳道圖是用于詮釋業(yè)務(wù)流程的,類圖是用于確定實體類的數(shù)據(jù)關(guān)系的;

根據(jù)類圖,確定數(shù)據(jù)庫搭建規(guī)則,將底層數(shù)據(jù)庫搭建好,添加測試數(shù)據(jù);

三、SSH2框架搭建

SSH2指的是結(jié)合使用Structs2、Spring、Hibernate三種框架搭建項目。

Structs2作為控制器(Controller)來建立模型與視圖的數(shù)據(jù)交互。
Hibernate主要是利用其實現(xiàn)更簡便的數(shù)據(jù)庫交互。
Spring前面都說到了,作為分層總體框架,并對以上兩者整合。
第一步:搭建dynamicweb項目,修改webcontext為webroot;

第二步:導(dǎo)入SSH2所需jar包,從網(wǎng)上下載所有自己當(dāng)前版本的框架所需的jar包,并拷貝到web-inf中l(wèi)ib文件夾,自動構(gòu)建成web資源庫;

第三步:創(chuàng)建resource源碼文件夾,功能同src文件夾,主要是與大公司開發(fā)保持一致的規(guī)范做法;

第四步:導(dǎo)入SSH2所需要的xml配置文件,在web-inf中導(dǎo)入已經(jīng)配置好的通用的web.xml,在resource中導(dǎo)入applicationcontext.xml和structs.xml配置文件。

第五步:在src下搭建分層框架所需的包,規(guī)范是[國家域名].[公司域名].[項目名].[所需包名](例如cn.hust.dianshang.controller),所需的包名有:

entity封裝所有的實體;
dao為數(shù)據(jù)訪問層接口,及其實現(xiàn)類的包dao.impl;
service也有將該名命為biz的,業(yè)務(wù)邏輯層接口,及其實現(xiàn)類的包service.impl;
action也有命名為web或vo的;
util為工具類包,這個包一般不加前面的域名、項目名,因為這個部分比較通用,與本項目是獨(dú)立的,可重用和被調(diào)用的;
第六步:UI通用架構(gòu)(比如easyUI)源文件夾拷貝到webroot下,備用和修改;

由于eclipse有比較嚴(yán)格的js校驗,源文件夾導(dǎo)入后其中jquery.min.js文件會報錯,可以將eclipse中所在的項目配置文件.project中的JavaScriptvalidator和nuature中jsnature規(guī)則配置項刪除,然后重新進(jìn)入后,將該js文件打開后內(nèi)容剪貼粘貼后即可解決;
強(qiáng)迫癥患者建議修改,其他人不改也不影響使用;

四、正式業(yè)務(wù)功能實現(xiàn)

正式業(yè)務(wù)功能實現(xiàn),會一個通用功能后,其他功能就舉一反三即可。

這里舉最簡單的功能實現(xiàn)某部門(dep)列表的查詢功能實現(xiàn),不分頁、不涉及增刪改;代碼實現(xiàn)的功能就是完成action,web瀏覽器地址欄輸入action地址可以看到對應(yīng)的json即實現(xiàn)效果。

第一步:編寫實體類和映射文件。

編輯實體類,首先是查詢和展示某部門列表,故在entity下新建實體類Dep,里面的字段根據(jù)“數(shù)據(jù)庫搭建”里自己錄入的dep部門表內(nèi)容填入,比如其中含有三個字段UUID(主鍵和編號)、NAME(名稱)、TELE(電話);

package cn.hust.dianshang.entity;public class Dep{ private Long uuid; private String name; private String tele; get/set(默認(rèn)方法導(dǎo)入)} 編寫該類的映射文件.xml

<?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="cn.hust.dianshang.entity.Dep" table="DEP"> <id name="uuid"> <generator class="native"/> </id> <property name="name"/> <property name="tele"/> </class name></hibernate-mapping>第二步:數(shù)據(jù)訪問層dao類及實現(xiàn)。

在dao包下建立接口IDepDao

package cn.hust.dianshang.dao;import java.util.List;import cn.hust.dianshang.entity.Dep;/**搭建數(shù)據(jù)訪問層接口*/public interface IDepDao{ //返回所有記錄 public List<Dep> getList();}在dao.impl包下建立實現(xiàn)類DepDao,由于其是數(shù)據(jù)訪問層的實現(xiàn)類,所以還要繼承HibernateDaoSupport的方法(部分方法省的自己實現(xiàn)了)。

package cn.hust.dianshang.dao.impl;import java.util.List;/**部門數(shù)據(jù)訪問類*/public class DepDao extends HibernateDaoSupport implements IDepDao{ //返回所有記錄 public List<Dep> getList(){ return getHibernateTemplate().find("from Dep"); }}第三步:業(yè)務(wù)邏輯層service類及實現(xiàn)。

在service包下建立接口IDepService,內(nèi)容基本上和dao層類似。

package cn.hust.dianshang.service;import java.util.List;import cn.hust.dianshang.entity.Dep;/**搭建部門業(yè)務(wù)邏輯層接口*/public interface IDepService{ //返回所有記錄 public List<Dep> getList();}在service.impl包下建立實現(xiàn)類DepService。

package cn.hust.dianshang.service.impl;import java.util.List;/**部門數(shù)據(jù)訪問實現(xiàn)*/public class DepService implements IDepService{ //由于需要調(diào)用dao的數(shù)據(jù),所以屬性中需定義IDepDao類型對象,方便調(diào)用相關(guān)方法和屬性參數(shù) private IDepDao depDao; public void setDepDao(IDepDao depDao){ this.depDao = depDao; } //返回所有記錄 @OverRide public List<Dep> getList(){ return depDao.getlist(); }}第四步:完成action。

在action包下建立類DepAction。

package cn.hust.dianshang.action;import java.util.List;/**部門action*/public class DepAction{ //由于需要調(diào)用service層方法和屬性,故構(gòu)建私有屬性IDepServce private IDepServce depService; public void setDepService(IDepService depService){ this.depService = depService; } //返回所有記錄 @OverRide public String list() throw Exception { List<Dep> list = depService.getList(); //用fastjson轉(zhuǎn)換為json字符串 String jsonString = JSON.toJSONString(list); //通過servlet輸出獲取的字符串 HttpServletResponse response = ServletActionContext.getResponse(); response.setCharactorEncoding("UTF-8"); response.getWrite().print(jsonString); //由于只展示dep查詢結(jié)果,不再跳轉(zhuǎn)頁面,故return結(jié)果不再錄入,設(shè)定為null return null; }}第五步:編寫修改配置文件。

代碼基本完成,首先在applicationContext.xml文件中增加bean對象,需要用到sessionFactory,否則無法獲取數(shù)據(jù)。

<!-- 部門數(shù)據(jù)訪問層 --><bean id="depDao" class="cn.hust.dianshang.dao.impl.DepDao"> <property name="sessionFactory" ref="sessionFactory"> </property></bean><!-- 部門業(yè)務(wù)邏輯層 --><bean id="depService" class="cn.hust.dianshang.service.impl.DepService"> <property name="depDao" ref="depDao"> </property></bean><!-- 部門action --><bean id="depAction" class="cn.hust.dianshang.action.DepAction"> <property name="depService" ref="depService"> </property></bean>在structs.xml中配置文件。

<structs> <package name="default" namespace="/" extends="structs-default"> <!-- 通配符以可以調(diào)用所有dep開頭的action方法 --> <action name="dep_*" class="depAction" method={1}></action> </package></structs>第六步:測試后端代碼。

判斷后端代碼是否成功的標(biāo)準(zhǔn)是action中jsonString是否生成。

項目在eclipse中植入tomcat,run on server,根據(jù)我的服務(wù)器設(shè)置,我的電腦自動跳轉(zhuǎn)到http://localhost:8081/dianshang/dep_list.action。

結(jié)果是web瀏覽器出現(xiàn)一組數(shù)據(jù)庫內(nèi)的字符串,即成功實現(xiàn)后端代碼。

第七步:配置前端頁面。

在webroot下生成dep.html文件,利用easyUI的js配置方式,在其中寫入列表顯示的配置信息。

<script type="text/javascript"> $(function()){ $('#grid').datagrid({ url:'dep_list.action', columns:[[ {field:'uuid',title:'編號',width:50}, {field:'name',title:'名稱',width:100}, {field:'tele',title:'電話',width:200} ]] }); }</script><table id="grid"> </table>
恭喜你,第一個簡單javaweb項目已經(jīng)簡單搭建完畢。

關(guān)鍵詞:實例,項目,筆記,學(xué)習(xí),學(xué)者

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉