装X - 建立自己的斗图网站库

2024-05-27 07:32
文章标签 网站 建立 斗图

本文主要是介绍装X - 建立自己的斗图网站库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://zhuanlan.zhihu.com/p/25130191?utm_source=tuicool&utm_medium=referral

作者:yuyuyu
链接:https://zhuanlan.zhihu.com/p/25130191
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

之前加过一个斗图群,看到很多经典的表情,然后就收藏到了QQ, 迫于本屌丝开不起某Q会员,就只能收藏到本地,无法在其他的电脑上使用。久而久之收藏的也越来越多了,但是管理就成了问题,每次合适的场景想起一张合适的图,但怎么都找不到了,于是乎,本屌丝打算自己写一个斗图收藏网站。

先露个脸!




1 实现思路

实现思路其实很简单粗暴,如果需要加载图片,肯定需要图片地址,那么,图片的地址从哪里来呢?当然是从服务器请求啦,我要需要做的是什么呢? 我们需要在服务端建立几个文件夹,然后把一些图片分好类,放进文件夹就好了。

然后我们就用java去读取指定文件夹的中图片,然后把这些图片返回去前端就好了。



2 后端代码实现

2.1 我们建一个web项目,写一个简单的servlet

// 此处为doPost的全部内容
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();ReadList rl = new ReadList();String json = rl.read();// 此处返回一个json格式的字符串,前端在进行 JSON.parse();out.println(json);out.flush();out.close();
}


2.2 在写一个简单的读取方法类,就是上面的 ReadList

package com.cxw.face;import java.io.File;public class ReadList {public String read() {// windwos环境下开发的测试路径(本地开发时使用)
//		String path = "D:\\dtimg";		// 实际部署在linux上的真是图片位置。String path = "/opt/project/face/images/face";String dirObj = "{";// 读取指定位置的文件File file = new File(path);		// 读取这个文件夹下的所有文件和文件夹File[] ss = file.listFiles();	// 对所有的文件夹遍历for (int i = 0; i < ss.length; i++) {String key = ss[i].getName();		// 文件夹名称 File[] zs = ss[i].listFiles();		// 此文件夹下的文件// 以文件夹名称为key,拼接成jsondirObj += "\"" + key + "\": [" ;for (int j = 0; j < zs.length; j++) {String zn = zs[j].getName();long size = zs[j].length();dirObj += "{\"name\":\"" + zn + "\",\"size\":\""+size+"\"},";}dirObj = dirObj.substring(0, dirObj.length()-1);dirObj += "],";}dirObj = dirObj.substring(0, dirObj.length()-1);// 注意:json的末尾不能多加逗号(,)。dirObj += "}";return dirObj;}
}

这个后台的代码就完了,就这么一点。




3. 前端代码


前端的代码非常简单,就是一个ajax去请求数据就好了。


var xhr = new XMLHttpRequest();
xhr.timeout = 16000;
xhr.responseType = "text";
xhr.open('POST', '/Servlet02/face', true);
xhr.onload = function(){if(this.status == 200||this.status == 304){var txt = this.responseText;var obj = JSON.parse(txt);console.log(obj);}
}
xhr.send(null);

这个是主要的代码,涉及到其他功能的代码,还需要在加。

然后就得到了 我们想要的数据。就是下面格式:





至于前端的界面你想怎么显示那都不是事儿了把!


4. 发布到Linux上

4.1 java项目打包


这个很简单了,直接在myeclipse中右键,点Exprot... , 在展开java EE,选择WAR file (MyEclipse),然后下一步,然后选择一个保存位置,(随便那里都可以,待会儿会把这个war文件放到服务器上的),在点击Finish就好了。



4.2 Linux上安装JDK

4.3 Linux上安装Tomcat

我这个就不说了,百度一大堆。


4.4 发布


把刚才第一步打包的那个war文件丢到你的linux上的你的tomcat安装的位置,然后启动tomcat就好了。(注意:我打包的项目叫Servlet02.war,丢到tomcat上启动之后会自动解压生成和一个文件名一样的文件夹,访问的时候前面需要加上这个文件名)




5 附上本人的斗图装X网站地址

face.yuanyuanyuan.me

简单吧,是不是小白都可以说 so easy!


  • 图片暂时还未整理完全,前端页面图片加载待优化。
  • 后期还会加上搜索功能,这个数量有点大,最近工作还忙,以后再说。
  • 目前复制图片稍微复杂,以后可以加一个as脚本,直接复制。

(如有愿意贡献神图的童鞋欢迎小窗)


(文章为原创,转载请注明出处)


这篇关于装X - 建立自己的斗图网站库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1006831

相关文章

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

建立升序链表

题目1181:遍历链表 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2744 解决:1186 题目描述: 建立一个升序链表并遍历输出。 输入: 输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。 输出: 可能有多组测试数据,对于每组数据, 将n个整数建立升序链表,之后遍历链表并输出。 样例输

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

49个权威的网上学习资源网站

艺术与音乐 Dave Conservatoire — 一个完全免费的音乐学习网站,口号是“让每一个人都可以接受世界级的音乐教育”,有视频,有练习。 Drawspace — 如果你想学习绘画,或者提高自己的绘画技能,就来Drawspace吧。 Justin Guitar — 超过800节免费的吉他课程,有自己的app,还有电子书、DVD等实用内容。 数学,数据科学与工程 Codecad

BT天堂网站挂马事件后续:“大灰狼”远控木马分析及幕后真凶调查

9月初安全团队披露bt天堂网站挂马事件,该网站被利用IE神洞CVE-2014-6332挂马,如果用户没有打补丁或开启安全软件防护,电脑会自动下载执行大灰狼远控木马程序。 鉴于bt天堂电影下载网站访问量巨大,此次挂马事件受害者甚众,安全团队专门针对该木马进行严密监控,并对其幕后真凶进行了深入调查。 一、“大灰狼”的伪装 以下是10月30日一天内大灰狼远控的木马样本截图,可以看到该木马变种数量不

PHP抓取网站图片脚本

方法一: <?phpheader("Content-type:image/jpeg"); class download_image{function read_url($str) { $file=fopen($str,"r");$result = ''; while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); re

使用WebP解决网站加载速度问题,这些细节你需要了解

说到网页的图片格式,大家最常想到的可能是JPEG、PNG,毕竟这些老牌格式陪伴我们这么多年。然而,近几年,有一个格式悄悄崭露头角,那就是WebP。很多人可能听说过,但到底它好在哪?你的网站或者项目是不是也应该用WebP呢?别着急,今天咱们就来好好聊聊WebP这个图片格式的前世今生,以及它值不值得你花时间去用。 为什么会有WebP? 你有没有遇到过这样的情况?网页加载特别慢,尤其是那

黑客为什么不黑赌博网站来搞米?

攻击了,只是你不知道而已! 同样,对方也不会通知你,告诉你他黑了赌博网站。 攻击赌博网站的不一定是正义的黑客,也可能是因赌博输钱而误入歧途的法外狂徒。之前看过一个警方破获的真实案件:28岁小伙因赌博无法提款自学成为黑客,攻击境外博彩网站日进万元,最终因涉嫌非法控制计算机信息系统罪被捕。 我见过很多因赌博输钱想请黑客帮忙渗透网站的人,在被拒后,同样也有人生出极端心理,问我怎么学习黑客,想学成之

提升PrestaShop外贸电商网站安全的几款行业必备工具

提升PrestaShop外贸电商网站安全的几款行业必备工具 PrestaShop发展历程 PrestaShop是一款优秀且强大的外贸开源电商软件,我们开始使用PrestaShop始于2009年,那时PrestaShop还是0.9版本:界面清新,性能强悍,扩展友好等特性,既没有Magento的笨重,也没有ZenCart的古老,更没有OpenCart的脆弱,因此PrestaShop如雨后春笋,迅速

推荐练习键盘盲打的网站

对于初学者来说,以下是一些推荐的在线打字练习网站: 打字侠:这是一个专业的在线打字练习平台,提供科学合理的课程设置和个性化学习计划,适合各个水平的用户。它还提供实时反馈和数据分析,帮助你提升打字速度和准确度。 dazidazi.com:这个网站提供了基础的打字练习,适合初学者从零开始学习打字。 Type.fun打字星球:提供了丰富的盲打课程和科学的打字课程设计,还有诗词歌赋、经典名著等多样