在众多开源的Java开源CMS中探索了很久,终于选定了appfuse,理由如下:

1. 简洁:只搭建了框架,没有做多余的事

2. 完成了基本的用户管理:用户、角色、权限的定义很清晰

3. 符合预期的架构要求:SpringMVC + Hibernate + Velocity

4. 基于Maven搭建

更多appfuse的能力请参考博文 初识appfuse

准备开始!

1. 基于Maven创建项目(基于SpringMVC的版本):

mvn archetype:generate -B -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-spring-archetype -DarchetypeVersion=3.5.0 -DgroupId=com.disappearwind -DartifactId=windcms -DarchetypeRepository=https://oss.sonatype.org/content/repositories/appfuse

更多框架架构选择请上官网 http://appfuse.org/pages/viewpage.action?pageId=3866645 ,请注意做好墙的工作,否则脚本不执行

2. 获取项目的源代码

mvn appfuse:full-source

3.  修改数据库连接(pom.xml文件)

如果找不到properties节点,则在pom.xml文件的</project> 上面加,否则在properties节点下直接加
<properties>
<jdbc.username>root</jdbc.username>
<jdbc.password>root</jdbc.password>
<jdbc.url><![CDATA[jdbc:mysql://localhost:3306/appproject?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf-8]]></jdbc.url>
</properties>

4. 跑起来!!!

mvn jetty:run

5. 中文乱码

复制出本身的中文ApplicationResources文件,然后每次修改复制的文件,调用以下代码重新生成目标文件。(方案有点挫,有待改进!)

native2ascii -encoding utf-8 "E:\workspaces\windcms\src\main\resources\ApplicationResources_zh_source.properties" "E:\workspaces\windcms\src\main\resources\ApplicationResources_zh.properties"

一些在探索过程中帮助过我的网站,表示感谢!

http://www.360doc.com/content/14/0107/16/1332348_343357577.shtml
http://www.ibm.com/developerworks/cn/java/j-lo-appfuse/
http://www.yiibai.com/jstl

http://blog.csdn.net/randyjiawenjie/article/details/7909779

Appfuse:起步的更多相关文章

  1. AppFuse 3常见问题与解决方法

    非常长一段时间没做SSH项目了.近期抽出时间看了一下升级到3.x的appfuse,对新版本号使用过程中出现的一些问题进行了排查.汇总例如以下.以备后用.本文原文出处: http://blog.csdn ...

  2. [NodeJS] Hello World 起步教程

    概述: 做数据,免不了需要展示数据,数据可视化是必须经历的步骤. 本文将提供一个NodeJS的起步教程,是笔者这两天探索的小结. 正文:  1. 为什么使用NodeJS 究竟是以B/S还是C/S的架构 ...

  3. Appfuse:权限控制

    Appfuse的权限控制依赖于Struts的Menu机制,common下的menu.jsp是对菜单顺序的定义,详细的菜单项和菜单链接及权限再menu-config.xml中控制,如下: <Men ...

  4. Appfuse:记录操作日志

    appfuse的数据维护操作都发生在***form页面,与之对应的是***FormController,在Controller中处理数据的操作是onSubmit方法,既然所有的操作都通过onSubmi ...

  5. Appfuse:扩展自己的GenericManager

    通过代码生成机制的appfuse访问数据都通过GenericManager来实现,GenericManager默认提供了以下几个方法: package org.appfuse.service; imp ...

  6. Appfuse:第一张表维护

    1. 建立表userinfo 列名 描述 UserID 主键.自增 UserName 用户名 Pwd 密码 CreateDate 创建日期 2. 在src/main/resources目录下增加文件h ...

  7. Node.js起步 -- (1)

    先来简单介绍nodeJS 我们知道JavaScript是运行在浏览器中的,浏览器为它提供了一个上下文(context),从而让JavaScript得以解析执行. nodeJS其实可以这么理解,它是另外 ...

  8. Linux上的SQL Server的起步

    我们知道,几个星期前,微软发布了在Linux上直接运行的SQL Server第一个公开CTP版本!因此,对我来说,是时候跨界在Linux上安装我的第一个SQL安装,这样的话,我就可以在Linux上折腾 ...

  9. 学习 AppFuse

    1.Appfuse是个什么鬼? AppFuse是一个集成了当前最流行的Web应用框架的一个更高层次的Web开发框架.换句话说,AppFuse就是一个完整的各主流框架的整合版本.AppFuse总是能够紧 ...

随机推荐

  1. Android APK签名

    一.为什么要签名? 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的. 由于开发商可能通过使用相同的Package Name来 ...

  2. Python学习第一弹——Python环境搭建

    一.Python简介: Python,是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.Python语法简洁而清晰,具有 ...

  3. MySQL密码忘记,怎么办?

    如果哪天你忘记了线上MySQL数据库的root密码,怎么办? 大家往往会想到skip-grant-tables参数,具体步骤如下: 1. 关闭MySQL数据库,因为root密码忘记了,mysqladm ...

  4. 缓存Cookie、session、localStorage的区别

    cookie Cookie就是服务器暂存放在你计算机上的一笔资料,好让服务器用来辨认你的计算机.当你在浏览网站的时候,Web服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文 ...

  5. php左侧分类列表显示菜单

    <!DOCTYPE> <html> <head> <meta http-equiv="content-type" content=&quo ...

  6. 解决 android 高低版本 webView 里内容 自适应屏幕的终极方法

    转载请声明出处(http://www.cnblogs.com/linguanh/) 一,先说下我的情况,大家可以对号入座(嫌无聊请跳过) 我的项目要求是这样的,先从数据库里面拿出来html标签,因为加 ...

  7. 关于 android 的 view.getLeft(), getRight(), getTop(), getBottom() 的一些疑惑(坑)解答

    (原创) 今天在做下滑刷新的时候碰到 view 的四个 get 函数有点特别,具体遇到的问题如下,经反复测试和查找资料,填坑如下: 1,为什么我有时候在使用getLeft(), getRight(), ...

  8. 微信公众平台开发(二)——access_token、日志

    一.access_token 1)两种access_token,网页授权access_token和普通access_token 1.微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后, ...

  9. 【类库】私房干货.Net数据层方法的封装

    [类库]私房干货.Net数据层方法的封装 作者:白宁超 时间:2016年3月5日22:51:47 摘要:继上篇<Oracle手边常用70则脚本知识汇总>文章的发表,引起很多朋友关注.便促使 ...

  10. 行程编码(atoi函数)

    #include<iostream> #include<string> #include<vector> using namespace std; void jie ...