最近在分析的这个产品是闭源的,所以它的特性都不知道是怎么实现的,只能看到了效果以后反向推测,好辛苦
一、特性描述
今天看到其中的一个特性是这样的:
这个系统是动态DDL的,当用户做了某些操作以后,会实时在数据库中建表。并且,无需重启,马上可以用浏览器访问一个新的URL,访问刚创建的这张表
比如新建了一个User表,就可以在浏览器里输入类似下面的URL来访问到:
http://ip:port/application/servlet/manage/UserTable
新建了Car表,可以用下面的URL访问到:
http://ip:port/application/servlet/manage/CarTable
二、实现原理
看到它的URL里有servlet字样,基本可以断定用的是JAVA平台(除非用URL骗我。。)
想了一下,有一个很简单的办法,可以实现这个功能。只需要用到servlet规范里的几个基本的特性
写了一段代码验证成功了,代码很简单就不贴了,只记录一下原理。主要用到的是servlet映射中的路径匹配,以及路径获取API
上面例子中的UserTable和CarTable我想都是假的,真正应该有一个类似于GetTable这样的servlet
然后在web.xml里配置一个路径匹配规则
一、特性描述
今天看到其中的一个特性是这样的:
这个系统是动态DDL的,当用户做了某些操作以后,会实时在数据库中建表。并且,无需重启,马上可以用浏览器访问一个新的URL,访问刚创建的这张表
比如新建了一个User表,就可以在浏览器里输入类似下面的URL来访问到:
http://ip:port/application/servlet/manage/UserTable
新建了Car表,可以用下面的URL访问到:
http://ip:port/application/servlet/manage/CarTable
二、实现原理
看到它的URL里有servlet字样,基本可以断定用的是JAVA平台(除非用URL骗我。。)
想了一下,有一个很简单的办法,可以实现这个功能。只需要用到servlet规范里的几个基本的特性
写了一段代码验证成功了,代码很简单就不贴了,只记录一下原理。主要用到的是servlet映射中的路径匹配,以及路径获取API
上面例子中的UserTable和CarTable我想都是假的,真正应该有一个类似于GetTable这样的servlet
然后在web.xml里配置一个路径匹配规则
<url-pattern>/servlet/manage/*</url-pattern>