1,下载,配置mysql问题
今天下载了很多次,都以失败告终,原因出在自定义安装的部分,其或许不支持路径中出现汉字,所以我采用了默认路径。另外,我在使用navicat的时候,导入了.sql文件(在链接中单击右键,运行sql数据库,可以导入),但是在项目后台却登陆不进去,错误提示“session,hebe...,password="YES"”什么的,记不清了,原因是项目代码中的密码是“root”而我登陆navicat的时候是用的是安装mysql时的密码123,所以会出现连接不上数据的错误,所以我在navicat用户-编辑将密码修改为root然后项目后台就可以登陆进去了。而且貌似安装mysql的时候必须要把原来的注册表等东西全部删除干净,方法可以在百度上搜索"mysql卸载“
2,代码分析
1>@Controller("showArticelAction")
@Controller 用来注解这个been是mvc模型中的一个C,会被spring的auto-scan扫到纳入管理,其实就是用于标注控制层组件,起到标注的作用
2>@Scope("prototype")
可以利用容器的scope="prototype"来保证每一个请求有一个单独的Action来处理,避免struts中Action的线程安全问题。
spring 默认scope 是单例模式 这样只会创建一个Action对象 每次访问都是同一个Action对象,数据不安全 struts2 是要求 每次次访问 都对应不同的Action scope="prototype" 可以保证 当有请求的时候 都创建一个Action对象3>@Resource
public void setArticleService(ArticleService articleService){
this.articleService = articleService;
}
@Resource在本例中是向articleservice注入一些been资源例如在一个action里面需要注入一个services. 直接写: @Resource SystemNavigationService navservice; 就实现了注入,在代码里,可以直接使用这个services了,不需要任何配置文件去定义。3.项目各层的作用base层各个项目都可以用,是底层的调用数据库的部分,具体实现增删改查,属于框架common层整个项目都要用到的部分main层是具体项目所要实现的部分,其中dao,model(实体)实现的是底层数据方面;service(业务逻辑层)负责调用和组合数据库的数据;until是本项目所要公用的部分;web是实现前台的部分
4.navicat导入.sql文件的方法
新建一个连接,然后右键新建一个数据库,建完以后单击它,右键运行sql文件,就over了
5.
这只是一个标记 string temlpatestream=读到的模版流; temlpatestream.replace("<#list datalist1 as data>","从数据库里读到的字段");//也可能会有其他方法来替换此标记,但是最终都是替换 就这样后台一个一个的替换最终生成一个替换好的string流再把这个流写入到一个文件里,并且此文件的扩展名为.html文件名根据本条数据的id(最好是id加栏目id)这样就完成了一个静态网页的生成