نظام حجز المطاعم TEAM4
تحقق على الموقع
(إذا تم إيقاف تشغيل خادم الويب، فلن يتم إنشاء الاتصال.)
جامعة كيونغي قسم الذكاء الاصطناعي وهندسة الكمبيوتر
البروفيسور كيهيون كوون 2021-1 هندسة البرمجيات المادة 4
جيثب@ssh10032
github@gabrielyoon7
جيثب@Kimwoojung11
جيثب@yeseul9231
جيثب@heo5620
فيديو تحليل هيكل المشروع
https://drive.google.com/file/d/1lWJpXaAh7shmv10t9AoQUbhHaI2ocUy0/view?usp=sharing
.فكرة
الإعدادات ذات الصلة بـ IntelliJ
وبما أن بيئة كل كمبيوتر مختلفة، فغالبًا ما يتم تصحيحها تلقائيًا. إذا كان ذلك ممكنا، لا تدفع إلى جيثب.
ليب
هذا مجلد يحتوي على مكتبات خارجية (*.jar) تستخدم في مشاريع Java. لاستخدام فئة معينة، يلزم وجود مكتبة مقابلة، وإذا تمت إضافتها، فيجب تسجيلها لدى المترجم.
خارج
هذا هو المجلد القابل للتنفيذ الحصري لـ IntelliJ والذي تم إنشاؤه أثناء التجميع. تتم تهيئته في كل مرة تقوم فيها بتشغيل الخادم. من الممكن أن يكون الخطأ قد حدث على جهاز كمبيوتر آخر. عند التجميع، يتم إرسال جميع الملفات إلى المجلد الخارجي وستعمل من هذا المجلد.
لا ترسل أبدًا إلى جيثب. قد تحدث أخطاء.
المسؤول عن خادم الويب. مكتوب بلغة جافا.
تم تصميم هذه الحزمة ليتم تطبيقها في هيكل مشابه قدر الإمكان لبرنامج booksys الذي قدمه الأستاذ.
اِختِصاص
هذا هو جزء وحدة التحكم. عادة، يتم طلب وحدة التحكم من JSP، ويتم استدعاء DAO منها.
تم ذكر الجزء الذي يطلب وحدة التحكم مرة أخرى في 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 ;
}
}
هذه فئة لتحميل قاعدة البيانات المستلمة من mariDB إلى فئة 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.
هذا مجلد يحتوي على CSS لاستخدامه في JSP. (تم تضمين Bootstrap 5.0)
هذا مجلد يحتوي على js لاستخدامه في JSP (Bootstrap 5.0، بما في ذلك JQuery).
jsp
يطلب JSP فئة المجال بتنسيق *.do.
يمكن العثور على المسار بتنسيق *.do في booksys.properties.
يتم استلام قاعدة البيانات المحددة في فئة المجال السابقة، ومعالجتها في 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 >
لقد قمنا بجمع JSPs شائعة الاستخدام. على سبيل المثال) رأس وتذييل الصفحة
مجموعة من الصفحات الأساسية المختلفة.
ليب
لقد صادفت هذا أثناء إنشاء مشروع، لكني لا أعرف ما هو.
https://leirbag.tistory.com/50
انظر القسم 1 من https://leirbag.tistory.com/52
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