前言:
起因:
原本也没想做后来想了想还没有能够记录ip的短链接,是个创新。写了!
思路:
302重定向,定向前记录ip
功能:
实现添加url,访问url时重定向并记录ip
实现
-
写前端页面
前端源码github:https://github.com/zhaojishun/toolPage/tree/master/ip -
数据库设计
- url 记录表
urlrecord
字段 | 类型 | 意义 |
---|---|---|
id | int | id |
url | varcha | 记录的url |
key | varcha | key |
- ip记录表
iprecord
字段 | 类型 | 意义 |
---|---|---|
id | int | id |
urlid | int | 记录的urlid |
ip | int | ip记录 |
time | varcha | 记录访问事件 |
- sql:
- 添加url接口
<insert id="saveUrl" parameterType="com.wdata.base.util.PageData">
insert into urlrecord (url,keyy)
VALUES
(#{url},#{key})
</insert>
- 保存ip记录接口
<insert id="saveIpRecord" parameterType="com.wdata.base.util.PageData">
insert into iprecord (urlid,ip,time)
VALUES
(#{urlid},#{ip},#{time})
</insert>
- 根据key查询ip记录
<select id="findListByKey" parameterType="com.wdata.base.util.PageData" resultType="com.wdata.base.util.PageData">
select
b.time as "time",
b.ip as "ip"
from urlrecord as a
left join iprecord b on b.urlid = a.id
where a.keyy = #{key}
</select>
- 查询key对应的url
<select id="findUrlByKey" parameterType="com.wdata.base.util.PageData" resultType="com.wdata.base.util.PageData">
select
a.id as "id",
a.url as "url"
from urlrecord as a
where a.keyy = #{key}
</select>
- 接口核心java代码
-
添加url接口,
-
查询key接口
-
访问url接口