Appfuse:起步
在众多开源的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&useUnicode=true&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:起步的更多相关文章
- AppFuse 3常见问题与解决方法
非常长一段时间没做SSH项目了.近期抽出时间看了一下升级到3.x的appfuse,对新版本号使用过程中出现的一些问题进行了排查.汇总例如以下.以备后用.本文原文出处: http://blog.csdn ...
- [NodeJS] Hello World 起步教程
概述: 做数据,免不了需要展示数据,数据可视化是必须经历的步骤. 本文将提供一个NodeJS的起步教程,是笔者这两天探索的小结. 正文: 1. 为什么使用NodeJS 究竟是以B/S还是C/S的架构 ...
- Appfuse:权限控制
Appfuse的权限控制依赖于Struts的Menu机制,common下的menu.jsp是对菜单顺序的定义,详细的菜单项和菜单链接及权限再menu-config.xml中控制,如下: <Men ...
- Appfuse:记录操作日志
appfuse的数据维护操作都发生在***form页面,与之对应的是***FormController,在Controller中处理数据的操作是onSubmit方法,既然所有的操作都通过onSubmi ...
- Appfuse:扩展自己的GenericManager
通过代码生成机制的appfuse访问数据都通过GenericManager来实现,GenericManager默认提供了以下几个方法: package org.appfuse.service; imp ...
- Appfuse:第一张表维护
1. 建立表userinfo 列名 描述 UserID 主键.自增 UserName 用户名 Pwd 密码 CreateDate 创建日期 2. 在src/main/resources目录下增加文件h ...
- Node.js起步 -- (1)
先来简单介绍nodeJS 我们知道JavaScript是运行在浏览器中的,浏览器为它提供了一个上下文(context),从而让JavaScript得以解析执行. nodeJS其实可以这么理解,它是另外 ...
- Linux上的SQL Server的起步
我们知道,几个星期前,微软发布了在Linux上直接运行的SQL Server第一个公开CTP版本!因此,对我来说,是时候跨界在Linux上安装我的第一个SQL安装,这样的话,我就可以在Linux上折腾 ...
- 学习 AppFuse
1.Appfuse是个什么鬼? AppFuse是一个集成了当前最流行的Web应用框架的一个更高层次的Web开发框架.换句话说,AppFuse就是一个完整的各主流框架的整合版本.AppFuse总是能够紧 ...
随机推荐
- spring笔记--事务管理之声明式事务
事务简介: 事务管理是企业级应用开发中必不可少的技术,主要用来确保数据的完整性和一致性, 事务:就是一系列动作,它们被当作一个独立的工作单元,这些动作要么全部完成,要么全部不起作用. Spring中使 ...
- hibernate笔记--实体类映射文件"*.hbm.xml"详解
实体类就是指普通的POJO,Hibernate并不知道那个实体类对应数据库的哪一张表,所以还需要配置一下,常用的方式就是*.hbm.xml文件[配置与@注解配置,这里介绍前者的详细属性: <?x ...
- 遍历迭代map的集中方法
public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...
- ASP.NET或者 js方式实现文件夹多图片浏览的方式
1.JS方式,限制大,而且图片名称如果不规则的话会获取不全. <html> <head> <style> img { max-width:1300px; } < ...
- Node.js Express 路由文件分类
前言 基于上一篇Web Api Controller分类,在MVC中我们通常要按自己的业务来划分Controller层, 好处多多,那么Express框架作为Node.js的一款MVC框架,那么自然也 ...
- 关于replace()方法中第二个参数的转义问题
如果你想通过Javascript代码在网页中呈现 \ 字符,则在JS代码中你必须输入两个反斜杠 \\,否则会报错.比如: var a = "\"; alert(a); //chro ...
- Spring Boot文档阅读
原因之初 最初习惯百度各种博客教程,然后跟着操作,因为觉得跟着别人走过的路走可以少走很多弯路,省时间.然而,很多博客的内容并不够完整,甚至错误,看多了的博客甚至有千篇一律的感觉.此外,博客毕竟是记载博 ...
- C# GZip对字符串压缩和解压
/// <summary> /// 压缩方法 /// </summary> public static string CompressString(string str) { ...
- 设计模式(五)建造者模式(Builder Pattern)
一.引言 在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成.例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象, ...
- 解决eclipse中logcat不显示log的问题
调试程序需要打印一些消息出来,logcat不好用的话就很麻烦了.这个问题折腾了好久,为啥就是不出来呢? 上网找了很多解决办法: 重启eclipse 重启adb 重启logcat ......等等好多 ...