
يمكن للبائع إضافة صورة المنتج. يتم حفظ الصور على نظام الملفات المحلي للخادم خارج الحرب. تم حفظ اسم الصورة في قاعدة البيانات المقابلة للمنتج. يمكن تكوين Tomcat لقراءة الملفات من أي مكان على القرص وخدمتها على عنوان URL معين.
أضف علامة Context في ملف conf/server.xml ، سمة docBase هي المسار المطلق للمجلد على نظام الملفات المحلي الخاص بك وسيتم استخدام سمة path بواسطة Tomcat للوصول إلى هذا المجلد. تأكد من أن Tomcat لديه أذونات لقراءة/كتابة الموقع المحدد.
< Host appBase = " webapps "
autoDeploy = " false " name = " localhost " unpackWARs = " true "
xmlNamespaceAware = " false " xmlValidation = " false " >
...
< Context docBase = " /Users/sanul/Documents/uploads/ " path = " /media " />
</ Host > على سبيل المثال ، إذا قمت بتخزين myImage.jpg في /Users/sanul/Documents/uploads/ Folder ، فيمكنك باستخدام خادم Tomcat ، يمكنني الوصول إلى هذا الملف في متصفحي باستخدام الرابط التالي
http://localhost:8080/media/myImage.jpg
server.xml باستخدام Eclipseملاحظة : إنشاء مجلد لتحميل الصور خارج مساحة العمل.
$ cd OnlineAuction/src/com/auctivity/utility
$ vim DBConnection.javaأضف عنوان URL واسم المستخدم وكلمة المرور
con = DriverManager . getConnection ( url , username , password );$ cd OnlineAuction/src/com/auctivity/controller
$ vim AddProductController.java أضف BASE_DIR كمسار مجلد تحميل الصورة في طريقة DOPOST
String BASE_DIR = "/Users/sanul/Documents/" ; تشغيل /OnlineAuction/AuctivitySchema.sql
.
├── AuctivitySchema.sql
├── WebContent
│ ├── META-INF
│ │ └── MANIFEST.MF
│ ├── WEB-INF
│ │ ├── properties
│ │ │ └── log4j.properties
│ │ └── web.xml
│ ├── accounts
│ │ ├── login.jsp
│ │ ├── profile.jsp
│ │ └── registration.jsp
│ ├── buyer
│ │ └── buyerHistory.jsp
│ ├── common
│ │ ├── footer.jsp
│ │ └── navbar.jsp
│ ├── error
│ │ ├── comingSoon.jsp
│ │ ├── forbiddenAccessError.jsp
│ │ └── pageNotFoundError.jsp
│ ├── index.jsp
│ ├── resources
│ │ ├── css
│ │ │ ├── accounts
│ │ │ │ ├── login.css
│ │ │ │ ├── profile.css
│ │ │ │ └── registration.css
│ │ │ ├── buyer
│ │ │ │ └── buyerPagePurchasedProducts1.css
│ │ │ ├── home.css
│ │ │ ├── seller
│ │ │ │ ├── SellerNavbar.css
│ │ │ │ ├── SellerPage.css
│ │ │ │ └── addProducts.css
│ │ │ └── style.css
│ │ ├── img
│ │ │ └── logo.jpg
│ │ └── js
│ │ ├── accounts
│ │ │ ├── login.js
│ │ │ └── register.js
│ │ ├── buyer
│ │ ├── home.js
│ │ ├── index.js
│ │ ├── seller
│ │ │ ├── addProducts.js
│ │ │ └── scheduleAuction.js
│ │ └── utility
│ │ └── inputValidation.js
│ └── seller
│ ├── addProduct.jsp
│ ├── scheduleAuction.jsp
│ └── sellerHistory.jsp
├── derby.log
└── src
└── com
└── auctivity
├── controller
│ ├── AddProductController.java
│ ├── BuyerHistoryController.java
│ ├── DefaultController.java
│ ├── ExceptionController.java
│ ├── LogOutController.java
│ ├── LoginController.java
│ ├── ProfileController.java
│ ├── RegistrationController.java
│ ├── ScheduleAuctionController.java
│ └── SellerHistoryController.java
├── exceptions
│ ├── ForbiddenAccessException.java
│ ├── InsufficientBalanceException.java
│ ├── InvalidDataFormatException.java
│ └── UserNotFoundException.java
├── model
│ ├── beans
│ │ ├── Bid.java
│ │ ├── Category.java
│ │ ├── Product.java
│ │ ├── ProductForAuction.java
│ │ └── User.java
│ ├── dao
│ │ ├── IProductDao.java
│ │ ├── IProductSchedulerDao.java
│ │ ├── IUserDao.java
│ │ ├── ProductDaoImpl.java
│ │ ├── ProductSchedulerDaoImpl.java
│ │ └── UserDaoImpl.java
│ └── service
│ ├── IProductSchedulerService.java
│ ├── IProductService.java
│ ├── IUserService.java
│ ├── ProductSchedulerServiceImpl.java
│ ├── ProductServiceImpl.java
│ └── UserServiceImpl.java
└── utility
├── ContextListener.java
├── DBConnection.java
├── InputValidation.java
├── MyTimerTask.java
├── ObjectFactory.java
└── PasswordEncrypter.java