项目地址: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的更多相关文章

随机推荐

  1. EF Core 3.0 Preview 9 的2个小坑

    之前我们的数据库服务器使用的是 SQL Server 2008 R2 ,由于从 EF Core 3.0 Preview 6 开始不支持 UseRowNumberForPaging ,只能停留在 EF ...

  2. Java连载47-多态基础语法、作用

    一.多态的语法 1.两个类之间没有继承关系的,使用多态是不能编译的. 2.无论向上还是向上转型,都需要有继承关系. 3.什么时候需要向下转型? 当调用的方法或者属性是子类型特有的,在父类型中不存在,就 ...

  3. C# Winform程序防止多开的方法总结(亲测)

    1.Winform启动的时候,检测是否存在同样的进程名,防止程序多开: static class Program { /// <summary> /// 应用程序的主入口点. /// &l ...

  4. 一个有用的排序函数,array_multisort(),下面的一个用法是根据二维数组里的一个字段值的大小,对该二维数组进行重新排序

    从二维数组$cashes中取出一列 'store_id'(二维数组中的每个一维数组都有的字段),按照这个的大小排序,对二维数组$caches里面的一维数组进行重新排序 实际应用如下 想让相同部门的排在 ...

  5. Asp.Net Mvc自定义控件之树形结构数据生成表格 - WPF特工队内部资料

    最近项目中有一个需求,将树形结构的数据,以表格的形式展示在页面中,下图是最终呈现效果: 源码: @{ Layout = null; } <!DOCTYPE html> <html&g ...

  6. mybatis动态sql和分页

    mybatis动态sql foreach BookMapper.xml <select id="selectBooksIn" resultType="com.lin ...

  7. 关于GC(下):CMS和G1GC的比较

    简称 STW -- Stop the World,暂停所有在执行的线程 简史 2004年Sun实验室第一次发表G1论文 JDK6U14中第一次作为实验选项引入 JDK7中开始作为替换CMS的方案 JD ...

  8. 自学_HTML<一>

    HTML HTML(HyperText Markup Language):描述网页长什么样子.有什么内容的一个文本.查看网页的描述内容(HTML)的方式:使用IE浏览器的话,在网页上点击右键,选择&q ...

  9. Java性能之synchronized锁的优化

    synchronized / Lock 1.JDK 1.5之前,Java通过synchronized关键字来实现锁功能 synchronized是JVM实现的内置锁,锁的获取和释放都是由JVM隐式实现 ...

  10. JavaWeb之动态代理解决request请求编码问题

    动态代理解决编码问题 1.设计模式 出现原因:软件开发过程中,遇到相似问题,将问题的解决方法抽取模型(套路) 常见设计模式:单例,工厂,适配器,装饰者,动态代理. 2.装饰者模式简单介绍 谷歌汽车开发 ...