项目概述

这个其实就是我个人的期末小项目,不是毕业设计……也不是什么大工程……没有用Springboot,就是最基础的JSP和Servlet,大佬们就别喷我了:-)

项目目的:部署在任意一台个人服务器,可以把服务器变成个人图床服务器。

操作逻辑简述

管理员登陆系统,可以上传本地图片,上传完毕后,可以得到图片直接链接和下载链接;并且可以在后台对图片进行删除。

直接链接:用于markdown的展示,图片每被加载一次,后台自动记录一次。

下载链接:用于下载,图片每被下载一次,后台自动记录一次。

界面展示

首页

登录页

登录后欢迎页面

功能页

请到操作功能内查看

项目结构

非视图层主要结构controller包

entity包

repository包

service包

util包

CommentServlet

Image_Type

CommentRepository

CommentService

JDBCTools

DownloadServlet

IP_Count

IP_CountRepository

DownloadService

GetIP

ImageServlet

Public_Image

Public_ImageRepository

DeleteImgService

SqlToJson

LoginServlet

User_Admin

User_AdminRepository

FindImgService

LogoutServlet

User_Comment

User_GuestRepository

LoginService

RegisterServlet

User_Guest

RegisterService

UploadServlet

UploadService

确实,有命名不规范……我也是后来看了阿里开发手册才知道的,下次一定改。

非实体层次要结构

这边是filter的结构:

CheckLoginFilter

监测用户是否已经登陆,否则回到登陆页面

UTF8Filter

对页面UTF-8编码

视图层游客

管理员

公共

Guest_Control.jsp

Admin_Control.jsp

index.jsp

Admin_Upload.jsp

login.jsp

CommentControl.jsp

Support.html

FindAllOfIP.jsp

Comment.jsp

ALLPlus.jsp

Cartoon.jsp

Others.jsp

Wallpaper.jsp

其实是因为,我本来的目的是一个图片下载网站,所以有游客系统和评论系统;改成图床,这些都没删……

操作功能

因为改成图床系统了,所以我就只提管理员功能了。

其实我个人觉得,比如:jsp的一些基本东西就好,还有一些逻辑思维吧,不如:分页怎么实现、登入验证怎么做到。对以后写代码,逻辑思维有帮助……

上传图片

Admin_Upload.jsp是上传视图层,用户可以上传自己的图片进入服务器,同时数据库上存图片在服务器的位置。

管理图片

对数据库图片进行展示,并提供删除操作。

下载功能

下载用户触发下载机制,根据数据库的地址定位到服务器上的图片,以二进制流的方式传回本地

图床功能

对上传的图片,提供图片直接链接,用于博客内Markdown图片展示。因为功能采用http协议的get方式,所以后台数据库记录图片调取次数。

快速使用

数据库创建

可以到GitHub上下载sql结构文件,管理员用户需要手动在User_Admin内参加(因为原来是设计成下载站的原因,注册用户为游客……)

项目打包

导入项目到IDEA内,编辑c3p0-config.xml流量池为自己服务器地址:

com.mysql.cj.jdbc.Driver

jdbc:mysql://server's ip:3306/ImageControl?useUnicode=true&characterEncoding=UTF-8

username

password

打包成war文件,到Tomcat服务器运行即可。

待完善功能

因为第一次打比较正式的项目……bug和功能不完善……

重要-上传图片重命名

我项目上传的图片是没有重命名的,这显然是不对的;这样导致不能上传两张名字一样的图片。

重要-规范代码

我真的应该先好好看看阿里开发者文档再打项目的,很多地方不规范。

次要-增加专属文件夹

原来考虑是搭建图片下载网站的,所以设计的是多位浏览游客,一位管理员上传、管理图片;所以没考虑太多……现在这样,显然也是不合理的。

开源地址这个,其实我是很不愿意的;因为代码……我现在就知道写的很乱;但是还是开源吧,大家就偷偷笑我好了,以后我会开自己代码,应该也会忍不住笑出声吧,哈哈哈。

2020.06.10

感谢很多人私信给我的建议;但是也有人自己自以为是,连JavaWeb都没学过,就指着我这个练手的JavaWeb项目说?你这么厉害,你自己实现给我看啊。该项目永不更新,不再接受任何反馈和指责,谢谢。该项目停止更新!

GitHub

写在最后

因为第一次写,所以确实很多地方需要完善;另外,我其实是学完Spring的,如果真的要问我Servlet和JSP有没有必要学?我个人觉得还是有必要学一下的,一开始就Spring,可能上手太难。

如果你也是和我一样,还在学习编程语言,可以和我一起讨论讨论。

java mweb_url_个人JavaWeb项目--打造个人图床相关推荐

  1. 阿里云对象存储OSS打造私人图床私人云存储(1年仅9元)

    阿里云对象存储OSS打造私人图床&私人云存储(1年仅9元) 阿里云对象存储OSS(Object Storage Service)是一款海量.安全.低成本.高可靠的云存储服务,提供99.9999 ...

  2. Chevereto配合PicGo打造个人图床

    什么是 Chevereto ? Chevereto 是目前最好的图床之一,功能也非常强大.其免费版和收费版的区别,在于收费版多了硬盘扩展,社交分享功能和技术支持.硬盘扩展指的是使用外部存储,例如:Am ...

  3. java web-inf_对JavaWeb项目中WEB-INF目录的理解

    1:WEB-INF目录的位置,位于WebRoot或WebContent目录内,WEB-INF里默认有lib目录和web.xml配置文件. 2:WEB-INF下面的内容只能由服务器级别才能访问,客户端并 ...

  4. 图床云存储项目课程随堂笔记

    这个项目属实重量级,第一遍学习的过程比较懵,只是记录一下随堂笔记.后面理解了项目后端代码流程,再细写几篇博客归纳. 基本单机环境配置 大的项目你可能连配置都配不清楚. 新手必须要心细,因为你错了一步, ...

  5. 阿里云自动java和mysql数据库_阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程)...

    阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程) (仅此纪念人生第一篇学习博客) 前阵子接了一个小小的JavaWe ...

  6. Java源码 JavaWeb开发框架 代码 SSH SSM OA ERP CRM Java项目[Java通用框架源码及开发视频教程]

    Java源码 JavaWeb开发框架 代码 SSH SSM OA ERP CRM Java项目 功能简介: A.代码生成器(开发利器) 生成Java各层次的类和JSP等文件,提高开发效率 B.阿里巴巴 ...

  7. java项目配置过滤器_在JavaWeb项目中如何正确的使用Filter过滤器

    在JavaWeb项目中如何正确的使用Filter过滤器 发布时间:2020-11-11 17:12:00 来源:亿速云 阅读:79 作者:Leah 这期内容当中小编将会给大家带来有关在JavaWeb项 ...

  8. java 实训项目_实训方案(JavaWeb项目实训)-

    实训方案(JavaWeb项目实训)- 2012-2013学年第一学期 <Java Web项目开发实训>课程实施方案 课程名称(英文):Training of Java Web Projec ...

  9. java搭建阿里云服务器环境(java环境+mysql+tomcat)和部署 JavaWeb 项目到云服务器(十分详细)

    文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源. 购买一系列的东西 其实就是花钱买块区域,服务器,域名,云解析,花了好多money... 一. ...

最新文章

  1. 学习笔记之xss原理篇
  2. RStudio版本号管理 整合Git
  3. 奥巴马表示10天内债务谈判出结果 债务违约可能性底
  4. mssql的T-SQL教程(从建登陆到建库、表和约束)
  5. Linux服务器编程之:link()函数,ln命令,symlink,readlink,案例说明
  6. .htaccess 后门
  7. linux ucontext 类型,协程:posix::ucontext用户级线程实现原理分析 | WalkerTalking
  8. Cyptoquant CEO:2021年ETH历史最高价与2018年不同,抛压明显更弱
  9. React中受控组件和非受控组件
  10. JAVA读取Properties文件对象常用方法总结
  11. Facebook正测试对话式的评论新界面
  12. 啦啦外卖独立版40.4最新外卖源码全开源
  13. 新建文件没有word、ppt、excel,office图标显示为白色,不能正常显示
  14. 潘通色号与rgb转换_中秋福利!手把手教你用Python做一只口红色号识别器,秒变李佳琦...
  15. 用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数.
  16. pool(六)——JedisPool
  17. SpringBootApplication是哪三个注解
  18. mysql grant失败_grant授权“失败”的原因
  19. springboot项目之部署阿里云服务器--简版
  20. NAVICAT 还原mssql bak备份文件

热门文章

  1. SQLite的使用------多张图片存储
  2. “互联网+”大环境下,企业如何做足涉电准备?
  3. 采用HVS的图像相似度准则计算WPSNR
  4. android_什么是安卓
  5. H3C交换tftp上传下载文件
  6. 百度网盘 Linux 版正式发布:专为中标麒麟桌面操作系统打造
  7. Mouse.bat 模拟鼠标操作脚本
  8. 华为笔记本怎么下载python_华为官方解析何为Python爬虫 小白看过来
  9. 上手机器学习系列-第1篇-聊聊机器学习的正确打开姿势
  10. reset --hard 后如何找回