
Продавец может добавить изображение продукта. Изображения сохраняются на локальной файловой системе сервера вне войны. Имя изображения сохраняется в базе данных, соответствующей продукту. Tomcat может быть настроен для чтения файлов из любой точки диска и обслуживать их на определенном URL.
Добавьте тег Context в файл conf/server.xml , path docBase - это абсолютный путь к папке в вашей локальной файловой системе, и 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/ polder, то используя Tomcat Server, я могу получить доступ к этому файлу в моем браузере, используя следующую ссылку
http://localhost:8080/media/myImage.jpg
server.xml с использованием EclipseПримечание . Создайте папку для загрузки изображений за пределами рабочей области.
$ cd OnlineAuction/src/com/auctivity/utility
$ vim DBConnection.javaДобавить Derby 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