java4wifidog_server_README
项目地址:https://github.com/C-hill/java4wifidog_server
开发环境:Windows JDK7 Tomcat6 Myeclipse8.5 MySQL5+
说明:本项目主要基于apfree wifidog业务实现,同时兼容原版wifidog(原版wifidog只实现了最简单的流程而已,推荐使用apfree固件来搭配使用本项目)。
大致使用步骤:
1.获取apfree固件并刷到对应的路由器上.
2.tomcat server.xml文件配置(该步骤主要是为了实现wifidog标准接口):
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\MyWorkSpace.metadata.me_tcat\webapps\wifidogServer" debug="0" reloadable="true"/>
</Host>
docBase为应用的路径,请根据实际情况更改。
该项目使用的端口是8080,可以根据使用情况自己修改,但必须与wifidog中端口配置一致,不建议更改端口.
在server.xml文件中找到以下节点,修改port属性即可更改端口号:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
3.执行数据库脚本wifidog.sql,配置db.properties(程序跟数据库沟通的配置文件)。
a. 执行wifidog.sql,可以通过mysql命令,也可以通过数据库管理工具,具体怎么弄,找度娘吧。
b. 配置db.properties。
示例:
username=root
password=root
url=jdbc\:mysql\://localhost\:3306/wifidog
classname=com.mysql.jdbc.Driver
username: 数据库的用户名,一般为root
password:用户名对应的密码,换成你设置的数据库密码
url:后面的‘wifidog’是数据库的名称,换成你的数据库名称就行
classname:不做更改
4.进入路由器管理界面,配置wifidog认证服务器地址,端口也要配置哦。
5.调试。
调试过程中可能会遇到一些问题,尽量自己搞定,搞不定也没关系,加下面的群@hill,我会尽自己最大努力给你答复。
注意:
1.如果你使用的是安装原版wifidog的固件,你可能需要自己编写一下登录认证页面,实现自己的认证逻辑(因为我只给了一个最最简陋的一个认证页面,也没有实现认证的逻辑,可能满足不了你的需求),另外你需要实现自己的业务也是可以的,但前提是你熟悉JavaWeb编程,并熟知wifidog。
其他:
详细步骤请参见wiki:https://github.com/C-hill/java4wifidog_server/wiki
一个实例教程:http://www.cnblogs.com/TonyChan7/p/3810599.html
Wifidog网关协议v1:http://blog.sina.com.cn/s/blog_131501ff00102ux9u.html
技术交流或反馈问题请加qq群:331230369 318937037 208461032 278691630 ,验证:github
java4wifidog_server_README的更多相关文章
随机推荐
- EF Core 3.0 Preview 9 的2个小坑
之前我们的数据库服务器使用的是 SQL Server 2008 R2 ,由于从 EF Core 3.0 Preview 6 开始不支持 UseRowNumberForPaging ,只能停留在 EF ...
- Java连载47-多态基础语法、作用
一.多态的语法 1.两个类之间没有继承关系的,使用多态是不能编译的. 2.无论向上还是向上转型,都需要有继承关系. 3.什么时候需要向下转型? 当调用的方法或者属性是子类型特有的,在父类型中不存在,就 ...
- C# Winform程序防止多开的方法总结(亲测)
1.Winform启动的时候,检测是否存在同样的进程名,防止程序多开: static class Program { /// <summary> /// 应用程序的主入口点. /// &l ...
- 一个有用的排序函数,array_multisort(),下面的一个用法是根据二维数组里的一个字段值的大小,对该二维数组进行重新排序
从二维数组$cashes中取出一列 'store_id'(二维数组中的每个一维数组都有的字段),按照这个的大小排序,对二维数组$caches里面的一维数组进行重新排序 实际应用如下 想让相同部门的排在 ...
- Asp.Net Mvc自定义控件之树形结构数据生成表格 - WPF特工队内部资料
最近项目中有一个需求,将树形结构的数据,以表格的形式展示在页面中,下图是最终呈现效果: 源码: @{ Layout = null; } <!DOCTYPE html> <html&g ...
- mybatis动态sql和分页
mybatis动态sql foreach BookMapper.xml <select id="selectBooksIn" resultType="com.lin ...
- 关于GC(下):CMS和G1GC的比较
简称 STW -- Stop the World,暂停所有在执行的线程 简史 2004年Sun实验室第一次发表G1论文 JDK6U14中第一次作为实验选项引入 JDK7中开始作为替换CMS的方案 JD ...
- 自学_HTML<一>
HTML HTML(HyperText Markup Language):描述网页长什么样子.有什么内容的一个文本.查看网页的描述内容(HTML)的方式:使用IE浏览器的话,在网页上点击右键,选择&q ...
- Java性能之synchronized锁的优化
synchronized / Lock 1.JDK 1.5之前,Java通过synchronized关键字来实现锁功能 synchronized是JVM实现的内置锁,锁的获取和释放都是由JVM隐式实现 ...
- JavaWeb之动态代理解决request请求编码问题
动态代理解决编码问题 1.设计模式 出现原因:软件开发过程中,遇到相似问题,将问题的解决方法抽取模型(套路) 常见设计模式:单例,工厂,适配器,装饰者,动态代理. 2.装饰者模式简单介绍 谷歌汽车开发 ...