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