简单电子资源下载网站实现 In 世界杯澳大利亚 @2025-05-24 19:14:04
1、引言
前段时间做了一个简单的电子资源下载网站,希望能通过这个网站实现电子资源的变现,但是由于时间的缘故,很多功能都没有实现,特别是用户无法直接查看网站所有资源的信息,这就是个致命的弱点,这两天加上了这个功能,目前已经能查看了,虽然依旧比较简陋,但凑合能用,只能在后期慢慢升级,逐渐将其发展成一个成熟的网站,下面就给大家简单介绍一下。
2、网站介绍
为了节省成本,我没有选择购买新域名,而是在我原有的一个域名之下,分出了一个二级域名,并将网站和他进行绑定,通过这个二级域名就能访问我的网站,网站地址如下:
http://code.drjtrtj.xyz/
2.1、网站构成
目前网站只有三个页面,一个主页,一个跳转下载地址的页面,最后就是展示所有下载信息的页面。
2.1.1、主页介绍
下图是主页在pc端访问的效果:
下图是主页在移动端访问的效果:
移动端访问和pc端访问效果都差不多,点击上方更多源码那里就能跳转所有源码信息的展示页面,通过下方的微信二维码就能联系到我,我目前主要提供针对网站的数据的定向爬取操作,不对app进行爬取,因为现在只有对网站爬取数据能做到几乎无视所有反爬操作。
2.1.2、页面代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
body{
width: 100%;
border: 0 solid;
background: #00bfd9;
}
.rl{
position: relative;
width: 100%;
border: 0 solid;
color: white;
}
.ll_center{
position: absolute;
width: 100%;
top: 100px;
text-align: center;
}
.div_content{
font-size: 2ch;
margin-top: 10px;
}
img{
width: 200px;
margin-top: 10px;
}
2.2、下载信息展示页面
pc端访问效果:
移动端访问效果:
移动端访问和pc端访问效果都略有差别,移动端要紧凑一些,这个后面再慢慢修改升级,左边是源码类型,中间是源码描述,右边是下载地址,点击就能跳转到源码下载的获取页面,下面是源码信息展示页面的代码:
<%@ page import="com.pay.maven.utils.code.GetCodeList" %>
<%@ page import="com.pay.maven.data.DownCode" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
body{
width: 100%;
border: 0 solid;
background: #00bfd9;
margin: 0 0 30px 0;
padding: 0;
color: black;
text-align: center;
font-size: 17px;
}
div{
margin: 50px 0 20px 0;
font-weight: bold;
font-size: 25px;
}
table{
width: 100%;
border: 1px solid red;
text-align: center;
color: black;
border-collapse: collapse;//边框线合在一起
}
.start{
font-weight: bold;
}
tr td{
border: 1px solid red;
}
a{
color: white;
text-decoration: none;//去除下划线
}
所有源码下载页面
源码类型 | 源码描述 | 下载地址 |
Android | <%=list.get(i).getCode_msg()%> |
里面用到了一个数据库操作的工具类,代码如下:
package com.pay.maven.utils.code;
import com.pay.maven.data.DownCode;
import com.pay.maven.utils.JDBCUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
/**
* 获取所有源码信息
*/
public class GetCodeList {
public static List
List
Connection conn=null;
try {
QueryRunner runner=new QueryRunner();
conn = JDBCUtils.getConnection();
String sql="SELECT * FROM down_code";
BeanListHandler
list=runner.query(conn,sql,handler);
} catch (SQLException e) {
e.printStackTrace();
}finally {
JDBCUtils.closeResource(conn,null);
}
return list;
}
}
2.3、源码下载地址获取页面
pc端访问效果:
移动端访问效果:
我的资源下载是需要付费的,但是价格都不高,几乎都在5元以内,支付宝扫码支付成功后等待几秒就会自动跳转到下载地址,由于常规的源码都很小,所以我是把数据放在蓝奏云网盘里面的,跳转的下载地址就是蓝奏云下载地址,直接下载即可,蓝奏云无需登录就能下载。
2.3.1、核心源码展示
鉴于我这里接入了支付宝支付,所以只能展示核心源码,涉及支付宝密匙之类的私密信息不予以展示,不懂得接入支付宝支付的朋友可以联系我,我这里提供个人接入支付宝支付接口的相关服务,通过我的网站上面展示的微信二维码就能联系到我,核心代码如下:
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String order = request.getParameter("order");//根据订单查询url下载地址
response.setContentType("text/plain; charset=utf-8");//文本类型数据
response.getWriter().write(queryDownStatus(order));
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
if (id.equals("")){
response.sendError(HttpServletResponse.SC_NOT_FOUND);
}else {
int intId=Integer.parseInt(id);//根据id查询下载数据
DownCode downCode = queryDownMsg(id);
String format = sdf.format(new Date());
String url=PayCreate(format,downCode.getCode_account());
if (!url.equals("")){
insertDownMsg(format,downCode.getCode_url());
response.setContentType("text/html; charset=utf-8");//html类型数据
response.getWriter().write("\n" +
"\n" +
"
\n" +" \n" +
" \n" +
"
" \n" +
" \n" +
" \n" +
" \n" +
" \n" +
"
\n" +"
"
"
downCode.getCode_msg() +
"
"
\n" +"
downCode.getCode_account() +
"后自动跳转源码下载地址
"
format +
"
"
" 更多源码下载请点击我\n" +
"
"
"
" \n" +
"");
}else {
response.setContentType("text/plain; charset=utf-8");//html类型数据
response.getWriter().write("网络卡顿,请刷新页面重新尝试!");
}
}
}