1. 程式人生 > >基於Java spring MVC框架 開發初步 ——以做一個留言板為例

基於Java spring MVC框架 開發初步 ——以做一個留言板為例

基於 Java spring MVC 框架 開發初步

——以做一個留言板為例

作者: zccst

開發環境:

1 java 1.6

2: mysql 5.1

3: resin 3.1

4: eclipse 3+

開發環境配置:

Eclipse 裡執行 resin

以做一個記事本( guestbook )為例,全部工作可分為三部分:

第一部分:前臺 html 頁面。

第二部分: Java 程式

第三部分:配置

第一部分:前臺 html 頁面

velocity 編寫 guestbook.vm

解釋: guestbook

是指想要實現一個在瀏覽器裡能看到的記事本的介面,用 html 語言來編寫。

其後綴 .vm 是自己在配置檔案裡設定的,所以,你可以設定 .jsp 等等。

我的 html 程式碼是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

<html xmlns= "http://www.w3.org/1999/xhtml" >

<head>

<meta http-equiv=

"Content-Type" content= "text/html; charset=gb2312" />

<title>guestbook</title>

</head>

<body>

<center>

<ul>

#foreach ( $msg in $!msgList )

<table width= "825" height= "43" border= "0" >

<tr>

<td width= "64" ><li>

$msg.getUsername ()</li></td>

<td width= "127" ><li> $msg.getTitle ()</li></td>

<td width= "620" > $msg.getContent ()</td>

</tr>

</table>

#end

</ul>

在這裡把那個留言列表 列出來就可以了

<form action= "/Guestbook.aspx?msg=insert" method= "post" name= "loginform" >

<table bgcolor= "#B3B3FF" >

<caption> 歡迎訪問留言板 </caption>

<tr>

<td> 使用者名稱: </td>

<td><input type= "text" name= "username" size= "40" ></td>

</tr>

<tr>

<td> 主題: </td>

<td><input type= "text" name= "title" size= "40" ></td>

</tr>

<tr>

<td> 內容: </td>

<td>

<textarea name= "content" rows= "10" cols= "40" ></textarea>

</td>

</tr>

<tr>

<td><input type= "submit" value= " 提交 " ></td>

<td><input type= "reset" value= " 重填 " ></td>

</tr>

</table>

</form>

</center>

</body>

</html>

1 #foreach .. .. #end 一段是用來顯示留言,這是後話。

2 :這裡深刻體會到 html 語言的重要性了。雖然公司分做前臺互動頁面和後臺程式設計的,但是程式設計時如果你掌握了 html ,會大大加快你開發的速度。所也,還是學吧!而且是所見所得,符合我的特點。具體細節不解釋了,這些標籤你查了,記住了,就知道了,會用了。

3 :大學時也用 Dreamweaver 做過一段網頁,後來由於感覺自己以後從事這個職業有點“大材小用”,於是放棄了(實際未必)。而 3 年後的今天,我又一次學起 html ,不知道是不是上天給我開了一個玩笑,戲謔我的尊嚴,不管怎麼說,這三年我改變了好多。如今的妥協我相信不會遙遠了。

4 :我把留言頁面和留言後提交放在了同一個頁面了,其實這只是頁面跳轉的問題,學完了 Java 程式設計就會覺得實現起來很簡單。

第二部分: Java 程式

第一步:登入 mysql 資料庫,建立 guest_book 表。用來存放留言資訊。

CREATE TABLE `guest_book`

(

`id` int(10) NOT NULL AUTO_INCREMENT,

`title` char(50) NOT NULL,

`content` text NOT NULL,

`username` char(15) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

第二步:寫函式,按常規順序(注:後來的呼叫與書寫時正好相反)

GuestBook.java

成員變數與資料庫中 guest_book 表中項一一對應。成員方法就 get set 方法。可由系統根據成員變數自動實現。

GuestBookDAO.java 介面類 由靜態成員變數和抽象方法(沒有方法體)組成。

抽象方法指出該留言板實現幾種功能,比如

List getAllGusetBooks( int start_index, int end_index) 顯示留言板內容

int getAllGusetBooksCount() 顯示留言板內容條數

void insertGusetBook(GuestBook guestbook) 寫入一條新留言

SqlMapGuestBookDAO.java 介面實現類 實現介面類中的抽象方法。

難點在於呼叫系統已經寫好的類中的某些成員方法,完成操縱資料庫的過程。

本例是 SqlMapGuestBookDAO extends SqlMapClientDaoSupport ,然後呼叫父類的成員方法:

getSqlMapClientTemplate().queryForList ( "getAllGuestBooks" ,map)

getSqlMapClientTemplate().queryForObject ( "getAllGuestBookCount" )

GuestBook.xml xml 檔案

(1) ,實現 Java 程式與資料庫的連結,完成增刪改查。

(2) ,其裡面的項數與介面實現類中的成員方法個數是一一對應的。傳遞是通過介面實現類中成員方法的返回值(函式引數)。

後面幾個 Java 程式的順序可由顛倒,但一般順序是:

GuestbookController.java

控制層是客戶端與伺服器端直接的連線入口,所以肯定會在兩者之間傳一些引數。

此處既是重點又是難點。

1, 定義容器,存放資料,用來接收頁面發來的資料。同時,也負責再顯示到頁面上。

2, 頁面訪問時的做何處理

3, 其具體實現呼叫服務層( service )的函式

4, 返回值(跳轉)

GuestBookService.java

與介面實現類 SqlMapGuestBookDAO 的成員方法對應。

注:貫穿始終的是:

1, 異常處理。比如 DataAccessException

2, 實現系統已經寫好的介面。如,在 GuestBook.java

public class GuestBook implements Serialzable{}

3, 重寫系統已經寫好的類中的部分成員方法。比如控制層。如,

4, 呼叫系統已經寫好的類中的某一個成員方法。如在 SqlMapGuestBookDAO.java

當然前提是繼承該方法所在的類:新類 extends SqlMapClientDaoSupport

5, haha

不難看出,系統已經寫好了很多介面和類,這些為我們提供了方便,但是你最好記住常見的系統已經寫好的介面和類。

現在總結一下:

當一個頁面請求來臨時,首先通過配置檔案找到控制層( Controller ),在控制層經過處理後,呼叫服務層( Service ),服務層又呼叫介面實現類(),介面實現類呼叫系統函式進行處理,於是通過 .xml 配置檔案,找到資料庫指令,完成資料庫的增刪查改功能。

寫好函式後,就可以開始配置了。

第三部分:配置

一、資料庫配置

資料庫對映客戶端配置。

applicationContext-jdbc.xml

——介面類 (.DAO) 與介面實現類對映 (SqlMap**DAO)

guestBookDAO 對映到 SqlMapGuestBookDAO

原始碼:

< bean id = "sqlMapClient" class = "org.springframework.orm.ibatis.SqlMapClientFactoryBean" >

< property name = "dataSource" >< ref local = "dataSource" />

</ property >

< property name = "configLocation" >< value > WEB-INF/sql -map-config.xml </ value >

</ property >

</ bean >

增添:

< bean name = "guestBookDAO" class = "com.sg.xiyou.dao.ibatis.SqlMapGuestBookDAO" >

< property name = "sqlMapClient" > < ref local = "sqlMapClient" /> </ property >

</ bean >

sql-map-config.xml ——與實現增刪查改資料庫 (.xml) 相關聯

實現介面類 SqlMapGuestBookDAO 裡的幾個函式與 GuestBook.xml 裡的幾個資料庫操作一一對應。憑藉的手段是通過 SqlMapGuestBookDAO 裡的幾個函式的引數分別傳遞。

注意每個函式裡的引數都大於或等於一個。

< sqlMap resource = "com/sg/xiyou/dao/ibatis/maps/GuestBook.xml" />

二、服務層配置

物件 guestBookService 屬於 GuestBookService ,這樣的好處是不再以定義類的物件的方式進行呼叫,目的是提高效率。

applicationContext-services.xml

< bean name = "guestBookService"

class = "com.sg.xiyou.service.GuestBookService" autowire = "byName" ></ bean >

三、前臺頁面與後臺【控制層】函式連結配置

點選頁面,跳轉到 xiyou-servlet.xml

<prop key="/Guestbook.aspx" >Guestbook </prop>

通過關鍵字 Guestbook ,找到其相關定義。如上

通過定義,找到其所在控制層函式,通過名字( autowire = byName )。裡面的屬性及其對應值是函式在執行完後的返回值與跳轉到此處指定的頁面。(一一對應)

xiyou-servlet.xml ——後臺控制層函式

< prop key = "/Guestbook.aspx" > Guestbook </ prop >

< bean id = "Guestbook" class = "com.sg.xiyou.action.GuestbookController" autowire = "byName" >

< property name = "commandClass" >< value > com.sg.xiyou.domain.Guestbook </ value ></ property >

< property name = "formView" >< value > /login </ value ></ property >

< property name = "successView" >< value > /guestbook </ value ></ property >

</ bean >

guestbook.vm ——前臺頁面

<form action= "/Guestbook.aspx?msg=insert" method= "post" name= "loginform" >

相關推薦

基於Java spring MVC框架 開發初步 ——一個留言

基於 Java spring MVC 框架 開發初步 ——以做一個留言板為例 作者: zccst 開發環境: 1 : java 1.6 2: mysql 5.1 3: resin 3.1 4: eclipse 3+ 開發環境配置:

Java Spring MVC框架搭建(一)

環境準備 >>>>>>java JDK和tomcat,eclipse 1.建立專案 2.專案名稱自定義,這邊為demo 3.我們已經建立完一個動態網站的專案,還得下載Spring MVC相關的jar包,Spring MVC有很多版本,下面提供的是3.2.8的版

java多執行緒操作例子-(銀行存錢取錢)

     以前一直沒有養成一個梳理知識的習慣,今天覆習到多執行緒的知識的,想到的經典的存錢取錢多執行緒同步機制,今天在這裡梳理下,錯的地方請各位大佬指正1:多執行緒同步的方法1:使用synchronized關鍵字修飾方法和程式碼塊(這就是兩種了)2:使用特殊變數volatit

基於Vue+Spring MVC+MyBatis+Shiro+Dubbo開發的分布式後臺管理系統

java dubbo shiro vue 分布式 最近項目中使用了shiro做權限管理,在開發過程中也踩了一些坑,於是便有了開發個應用鞏固一下所學知識的想法,正好在開發的過程裏學習一下Vue開發。技術棧方面,現在前後端分離大行其道,於是也采用了前後端分離的模式,前端基於Vue+Elemen

Java Spring MVC專案搭建(一)——Spring MVC框架整合

轉自:https://www.cnblogs.com/eczhou/p/6287852.html 1、Java JDK及Tomcat安裝 我這裡安裝的是JDK 1.8 及 Tomcat 8,安裝步驟詳見:http://www.cnblogs.com/eczhou/p/6285248.html

SSM(Spring+Spring MVC+Mybatis)開發前臺後功能完整的java開源部落格管理系統

專案描述 本專案通過SSM(SpringMVC+Mybatis+Spring)框架編寫的一個人部落格管理系統,使用hexo主題,以及MAVEN進行對專案管理,並且前端具有粒子和點選愛心效果.後端的頁面框架為bootstrap.資料庫為mysql. 執行(執行)環境 jdk8+tomcat8+mysql+

[轉]基於Vue+Spring MVC+MyBatis+Shiro+Dubbo開發的分散式後臺管理系統

最近專案中使用了shiro做許可權管理,在開發過程中也踩了一些坑,於是便有了開發個應用鞏固一下所學知識的想法,正好在開發的過程裡學習一下Vue開發。 技術棧方面,現在前後端分離大行其道,於是也採用了前後端分離的模式,前端基於Vue+Element,後端Web基於Spri

Spring MVC框架在進行表單提交,自動封裝成物件提交,在物件的形式入參

最近做了一個超市訂單管理系統的專案,使用的是Spring MVC 和Spring 框架。 如上圖:進行新使用者新增。此處jsp頁面程式碼如下: <div class="right"> <div class="location"

Spring Boot框架開發Java專案在CentOS7上的部署

需求:上級拿來一份Spring Boot框架開發的Java專案程式碼讓我在伺服器上執行起來,只說了一句該框架是自帶了Tomcat(不用重新安裝Tomcat),一份程式碼下有兩個專案(一個管理端專案,一個使用者端專案,等會會細說)。我是一名運維,在上家公司只接觸過在Tomcat下部署Java專案,自帶Tomca

spring MVC框架下前臺往java後臺傳送json資料

前臺頁面 <form action="" method="post" id="loginForm"> <table> <tr> <td&

檔案上傳--基於Spring MVC框架+SmartUpload

這篇文章是介紹檔案上傳的,由於在spring MVC上實現起來和直接在servlet中寫有些不同,所以特地寫了一下這篇文章,關於不同點,大家可以先閱讀一下上一篇文章。好了,下面直接上程式碼。 jab包是jspSmartUpload.jar,如果有類似的jar包如:commo

Java web 之 Spring+Mybatis+Spring MVC框架整合(下)

前兩篇,我們主要講了聚合工程Maven的建立(通過Maven本地倉庫,集中管理我們專案中的jar包),子Maven Project ssm-web 繼承父Maven Project  ssm-par

手寫Spring MVC框架(包含Java註解的實現)

主要從以下幾點入手 : 一、瞭解SpringMVC執行流程及九大元件 二、梳理自己的SpringMVC的設計思路 三、實現自己的SpringMVC框架瞭解SpringMVC執行流程及九大元件執行流程:1.使用者傳送請求->DispatcherServlet;使用者向服務

基於Spring MVC框架的Http流程分析

一、問題提出 我們可以方便的利用Spring MVC進行業務開發,請求的大部分工作都被框架和容器封裝,使得我們只需要做很少量的

Spring MVC 框架結構介紹(二)

指定 let url 16px () isp -s 一個 ping Spring MVC框架結構    Spring MVC是圍繞DispatcherServlet設計的,DispatcherServlet向處理程序分發各種請求。處理程序[email prot

Spring MVC框架下 將數據庫內容前臺頁面顯示完整版【獲取數據庫人員參與的事件列表】

XML 獲取 utf-8 字段 eas jsp r.java 增刪 otp 1.書寫jsp頁面包括要顯示的內容【people.jsp】 <!-- 此處包括三個方面內容: 1.包含 文本輸入框 查詢按鈕 查詢結果顯示位置 (p

spring mvc 框架的著重點

如果 web根目錄 目錄 b- color 相對路徑 ring 一個 方式 一、springmvc 的規定   springmvc一般是將jsp頁面放在web-inf 目錄下面,而靜態資源則是放在webroot目錄,訪問靜態資源直接使用下面這種方式 備註:這是因為Tomc

Spring-MVC框架的實現過程

fix CP 邏輯 頁面 per 黃色 9.png memcache start   我們在基於Spring框架進行web開發時,通常會有dao層(數據庫操作),service層(業務邏輯操作,比如判斷是否在redis,memcached等緩存中查找數據,何時調用dao層)

spring MVC框架(入門篇)-1

app 容器 入門 pri 初始 調度員 att url 結果 Spring Web MVC 簡稱(Spring MVC),是一個Spring提供給web應用的一個框架設計 1.MVC是什麽? MVC框架是一種理念,被廣泛應用到各類語言和開發中。 M-MODEL(模型層)

spring MVC框架 使用tomcat啟動後的日誌信息

sin 8 8 com ava rec fec tld ctu root 五月 11, 2018 8:44:25 下午 org.apache.catalina.startup.VersionLoggerListener log信息: Server version: