XdCore

一个简单的Java Web框架.

返回xdnote主博客 源码下载

介绍.

XdCore是本人自己无聊时开发的一个Java Web框架。由于本人水平太过业余,而且每天还要打游戏,睡觉,追剧,约P,时间不多,导致此框架BUG太多,修复也要看心情。无法接受的话,就请关闭浏览器,以免浪费宝贵时间

说明.

刚才说了,XdCore是一个简单的Java Web框架,为什么只是一个Web框架,不是MVC框架,个人认为MVC想法不错,但一味追求MVC的代码是是狗屎一堆。而且现在搞个几年的WEB开发的人眼中的MVC又各不一样,你说这是MVC,他说那是MVC,理论这种玩意不知道有什么意义。本框架写的时候是很自然的想法写的,写的时候完全没有考虑MVC,但至少本人也稍稍有点MVC的思想,写出来可能自然有半个MVC框架是不?

比较.

本人才疏学浅,Java牛B的Web框架只用于Struts1,Struts2(这货的前身xWork很久前也用过一点),加一个个不熟悉的Spring MVC,其它的就真不知道了。

常用的比较就那么几项,我就不说原因了,论功能点,安全性,以及一切其它特性,本框架被完败几条街。接受不了了吧,点这里面关掉页面

优点.

没有什么优点,真要说的话这么一条:开源

开源,开玩笑!什么不开源?Struts不开源吗?那么请问有多少人看过,学习过,修改过Struts的源码?如果你做到了并碰过10%的Struts代码,那你就鄙视我吧。我见过最多的人就是把Struts的原理当诗来背,说起道理头头是道(应付面试?),做事来离开BaiduGoogle就成残废一个。

XdCore核心代码加起来就几百行,两个方法四个类。全面看懂并理解也就一两个小时吧,当然,这也得要你愿意花一两个小时才行~_~!

特性.

刚才说的小,就是一种特性,个人喜欢简单粗暴高效的代码。适用于研究学习,小型项目。大项目慎用,如要使用,建议将源码导入自己再改装使用。

另外,源码内有彩蛋:送一些常用Util类以及一些插件类,都是简单粗暴的代码,喜欢可用,不喜欢就不用。

使用.

使用上和Struts很象,但本人没有盗它任何一行代码,顶多只能算参考了下,因为实现完全不一样。

一:和Struts一样,使用需要在web.xml里面进行配置。做为控制器,与框架初始化的参数

  <filter>
    <filter-name>xdcore</filter-name>
    <filter-class>com.dataexp.InitFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>xdcore</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
二:建立你的处理Action与Url映射,继承BaseAction

//-----------------HomeAction-----------------
public class HomeAction extends BaseAction {
  @Override
  public Object index(HttpServletRequest request ,HttpServletResponse response, String[] args){
    request.setAttribute("welcome", "Hello World");
    return "/index.jsp";
  }
  
  public Object test(HttpServletRequest request ,HttpServletResponse response, String[] args){
    request.setAttribute("welcome", "Test Welcome to home");
    return "/welcome.jsp";
  }
}
//-----------------welcole.jsp--------------------
 <% out.println(request.getAttrbute("welcome"))%>
三:在编译后能访问到的ClassPath下,编辑配置文件xMap.properties

//-----------------xMap.properties-----------------
/home=com.xxx.actions.HomeAction
四:万事OK,只欠访问

启动你的服务器,如果没有报错,就访问一下 http://ip:port/project/home/ 或 http://ip:port/project/home/test 试试~

额外.

自制几个小插件,包括Memcache工厂, Java Mail邮件发磅, MySql连接池。和一些Util,可以参考API文档