TEAM4餐廳預約系統
去網站查一下
(如果 Web 伺服器關閉,將無法建立連線。)
京畿大學人工智慧與電腦工程系
Kihyun Kwon 教授 2021-1 軟體工程 第 4 篇
github@ssh10032
github@gabriellyoon7
github@Kimwoojung11
github@yeseul9231
github@heo5620
項目結構分析視頻
https://drive.google.com/file/d/1lWJpXaAh7shmv10t9AoQUbhHaI2ocUy0/view?usp=sharing
。
IntelliJ相關設置
由於每台計算機的環境不同,因此常常會自動修正。如果可能的話,不要推送到 github。
庫
這是一個包含 Java 專案中使用的外部程式庫 (*.jar) 的資料夾。要使用特定的類,需要相應的庫,如果添加,則必須向編譯器註冊。
出去
這是編譯期間創建的 IntelliJ 專有的可執行資料夾。每次運行伺服器時都會對其進行初始化。該錯誤可能發生在另一台電腦上。編譯時,所有檔案都會傳送到out資料夾,並從此資料夾進行操作。
切勿發送到 Github。可能會出現錯誤。
負責網路伺服器。用Java編寫。
這個套件被設計成盡可能類似於教導給出的 booksys 程式的結構。
領域
這是控制器部分。通常,從 JSP 請求一個 Controller,並從它呼叫 DAO。
請求Controller的部分在WEB-INF中再次提到。
//domain 코드 예시
public class TestAction implements Action {
@ Override
public String execute ( HttpServletRequest request , HttpServletResponse response ) throws Exception {
Gson gson = new Gson ();
request . setAttribute ( "getSomething" , gson . toJson ( TestDAO . getInstance (). getSomething ( 1 )));
return "RequestDispatcher:test.jsp" ;
}
}
這是與主頁相關的控制器。
堅持
這是模型部分。包含用於與 MariaDB 通訊的類別。
這些是直接編寫查詢語句的類別。
我想我需要考慮是否像教授給我的文件一樣向資料庫類別發送查詢。
//DAO클래스 예시
public class TestDAO {
public static TestDAO it ;
public static TestDAO getInstance () { //인스턴스 생성
if ( it == null )
it = new TestDAO ();
return it ;
}
//테스트 메소드
public ArrayList < TestDTO > getSomething ( int num ) {
ArrayList < TestDTO > result = null ;
List < Map < String , Object >> list = null ;
Connection conn = Config . getInstance (). sqlLogin ();
try {
QueryRunner queryRunner = new QueryRunner ();
list = queryRunner . query ( conn , "SELECT * FROM customer WHERE oid=?" , new MapListHandler (), num );
} catch ( SQLException e ) {
e . printStackTrace ();
} finally {
DbUtils . closeQuietly ( conn );
}
Gson gson = new Gson ();
result = gson . fromJson ( gson . toJson ( list ), new TypeToken < List < TestDTO >>() {
}. getType ());
return result ;
}
}
這是一個將從 mariaDB 接收的 DB 載入到 Java 類別中的類別。
很容易認為每個資料庫表都有一個 DTO。
public class TestDTO {
private String oid ;
private String name ;
private String phoneNumber ;
public String getOid () { return oid ;}
public void setOid ( String oid ) { this . oid = oid ;}
public String getName () { return name ;}
public void setName ( String name ) { this . name = name ;}
public String getPhoneNumber () { return phoneNumber ; }
public void setPhoneNumber ( String phoneNumber ) { this . phoneNumber = phoneNumber ;}
}
這些類別構成了該項目的框架。請永遠不要編輯它。
進行更改時,請務必告知修改原因。
負責查看。用JSP編寫。
這是一個包含要在 JSP 中使用的 CSS 的資料夾。 (包括 Bootstrap 5.0)
這是一個包含 JSP 中使用的 js 的資料夾(Bootstrap 5.0,包括 JQuery)。
jsp
JSP 請求 *.do 格式的網域類別。
*.do 格式的路徑可以在 booksys.properties 中找到。
接收前面領域類別中定義的DB,處理成JS,然後插入到HTML中。
//앞선 설정으로 setAttribute 된 자바 변수를 JSP에서 받는 예시 (JQuery와 JSP문법을 사용하여 데이터를 가공한 후, id에 넘겨서 삽입함.)
< script >
$ ( document ) . ready ( function ( ) {
makeinfo1 ( ) ;
} )
function makeinfo1 ( ) {
var data = < %= getSomething % > ;
var list = $('#testDataPrinter');
var text = '';
text+= ' < div > '+'oid : '+data[0].oid+'/ name : '+data[0].name+'/ phoneNumber : '+data[0].phoneNumber+' div > ';
list.append(text);
}
script >
我們收集了常用的 JSP。例如)頁首、頁尾
各種基本頁面的集合。
庫
我在做專案時遇到了這個,但我不知道它是什麼。
https://leirbag.tistory.com/50
請參閱 https://leirbag.tistory.com/52 的第 1 節
https://leirbag.tistory.com/46
https://leirbag.tistory.com/47
https://leirbag.tistory.com/48
https://leirbag.tistory.com/56
https://velog.io/@ruddms936/IntelliJ%EB%A1%9C-JSP-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83 %9D%EC%84%B1
https://withthisclue.tistory.com/entry/JSP-%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80%EC%97%90%EC% 84%9C-%EA%B6%81%EA%B8%88%ED%96%88%EB%8D%98-do-%ED%8C%8C%EC%9D%BC%EC%9D%98- %EC%9D%98%EB%AF%B8
https://m.blog.naver.com/PostView.nhn?blogId=eroicaplus&logNo=90029919122&proxyReferer=http:%2F%2F210.217.72.119%2F
https://themach.tistory.com/68
https://m.blog.naver.com/acornedu/221128616501