当前位置: 首页 > 工具软件 > hxkj-cms > 使用案例 >

CMS 内容管理系统

白浩荡
2023-12-01
               **CMS  内容管理系统**

1:Maven:项目构建工具---->管理整个项目的
	好处:以前导包和配置文件很烦
		maven解决 -- pom.xml -- 写上一小段配置
	maven的结构:src/main/java
			   src/main/resources
			   src/main/webapp
			   src/test/java
			   src/test/resources
2:跳转到后台首页   index.jsp  
3:跳转到文章列表页面   article.jsp
4:显示文章列表     
			使用到了Gridmanager(后台返回数据格式必须是totals  data)

1:分页    
	supportAjaxPage: true  分页
	currentPageKey: "localPage"  设置请求参数名  当前页
	pageSizeKey: "pageSize"    设置请求参数名  每页的条数
	sizeData: [5,10,15,20]    自定义分页样式
	pageSize: 5               自定义分页初始值
	对分页的localPage(当前页) pageSize(每页的条数) 进行了封装   并且构造了一个方法用来获得limit 第一个参数
2:高级查询
	对高级查询的参数封装了   并且这个类继承了分页类
	自动获取前台参数   var formData = $('#queryForm').serializeObject();
	发送请求   GridManager.setQuery('demo-baseCode', formData);
3:对文章的增删改
     删除:
      1:绑定删除按钮点击事件
      2:获取id
      3:弹出模态框
      4:取消模态框确定按钮事件
      5:绑定确定点击事件
      6:ajax请求: 如果删除成功 :
 	 							关闭模态框
 	 							刷新页面
 	 				   删除失败: 弹出一句话
  添加:
  	 1:绑定添加按钮点击事件
  	 2:清除缓存
  	 3:清除隐藏域缓存
  	 4:弹出模态框
 修改:
 	 1:绑定修改按钮点击事件
 	 2:获取数据
 	 3:数据回显
 	 4:弹出模态框
 添加和修改的保存操作:
 	 1:绑定保存按钮点击事件
 	 2:发送请求
 	 3:成功回调函数中  如果保存成功 :
 	 							关闭模态框
 	 							刷新页面
 	 				          保存失败: 弹出一句话

 1:抽取了公共资源
        index.jsp 和  article.jsp 中的样式以及引入 还有 
 2:js分离
                     自己写的js代码进行了抽取 
 3:前台用户页面的跳转
 4:页面静态化  freeMarker
 			1:封装了freeMarker工具类

 1:添加功能时生成静态页面	 
 	1.1 获取存放静态页面.ftl文件的绝对路径
 	1.2 根据 freeMarker工具类生成了新的静态页面
 	1.3freeMarker工具类的返回值是url,将新生成的url 设置到article去
 	1.4 操作数据库  添加操作
 2:修改功能时对静态页面的处理
 	2.1 获取旧的文章对象,获取数据库中的url
 	2.2 获取路径,生成了新的静态页面
 	2.3 操作数据库,更新操作
 	2.4 删除旧的静态页面
 3:删除功能对静态页面的处理
    3.1 获取存放静态页面.ftl文件的绝对路径,获取要删除文章的url
    3.2 操作数据库,删除操作
    3.3删除文件
 4:浏览次数或点击次数的实现
 	4.1 点击次数的改变是每次刷新访问的文章页面时候+1 -->页面加载 发送请求
 	4.2 向后台传递的url  通过location.href得到网址  然后截取得到url
 	4.3 根据url查询数据库文章对象   给对象中的点击数set值   原来的+1
 	4.4 最后在操作数据库   更新操作
 5:富文本编辑器的使用
 	5.1 一大堆的配置
 6:轮播图的列表展示
 	参考文章的列表展示    
 7:轮播图的高级查询和分页

1:轮播图的添加功能  
  1.1 文件上传    --> 核心代码 ioUtil.copy(in,out);  
  1.2 添加和修改的模态框需要改   涉及到上传  form表单三要素  post  type = file  enctype="multipart/form-data"
  								还需要再applicationContext-mvc.xml配置<!-- 配置文件上传解析器 -->
  1.3后面的操作文章模块的添加差不多了
  1.4controller层 :Slide slide,HttpServletRequest aq,MultipartFile photo
2.轮播图的修改功能
3:轮播图的删除功能
4:前台页面轮播图的展示   
5:Cookie与Session
	区别:
		Cookie:将一小段文本信息保存在客户端浏览器中的一种会话跟踪技术
			优点:减轻了服务器的压力
		Session:将数据保存在服务器端的会话跟踪技术
			优点:安全性高
				大小相对于Cookie来说大得多
				数据类型没有限制
6:用户登录功能实现
	6.1 准备登录的页面
	6.2 点击登录按钮时发送异步请求
	6.3 后台操作逻辑:  
				6.3.1根据前台传来的用户名操作数据库查询user
				6.3.2 如果为空  说明该用户不存在
				6.3.3 如果不为空   说明用户账号正确  接下来判断数据库的密码和前台传来的密码是否一致
				6.3.4 登录成功后   前台请求回调函数中判断后 进行页面跳转    location.href="跳转的页面";

1.在后台管理首页显示登录信息
	将用户对象放入到session  然后再页面用el表达式取称号
2.注销功能
	2.1杀死session  
	2.2 跳转回登录首页
3.键盘回车就登录
	3.1页面加载里面   整个document对象中都能点击	
	3.2 事件为  keypress   当e.keyCode==13时  就是回车键
	3.3 做登录的操作   
4.登录拦截
	4.1准备一个类继承HandlerInterceptor  覆写3个方法
	4.2再preHandle方法里做登录拦截功能
	4.3因为登录成功后会将对象放到session中去,所有创建一个session 取到 这个对象
	4.4 如果对象不为空  就是登录过了  不用拦截 返回值为true
	4.5 如果对象为空    就是没有登录  
		4.5.1 跳转到登录首页
		4.5.2 拦截	返回值为false	
5.记住我
	5.1 后台代码: 通过前台传来的记住我input框的value值判断是否进行了勾选
			         如果不等于null,通过cookie将正确的用户名和密码放到浏览器中(可以设置生命周期  以及 路径("/"))
	5.2前台代码: 再页面加载的时候  
				获取cookie (是字符串类型)	
				判断:如果cookie包含了username 那就是登录成功了
				    通过split将cookie以;分隔开得到数组
				    遍历数组   
				           判断:包含了username字段的      取值
				                      包含了password字段的     取值
				  往form表单中赋值:  username
				                 password
				                                            以及记住我框框设置为默认勾选
6:取消记住我
	6.1后台代码:通过前台传来的记住我input框的value值判断是否进行了勾选
			  如果等于null,通过请求对象req得到cookie数组
			  遍历数组     将k值为username   password 杀死(生命周期设为0  路径设置   放到浏览器中)
    6.2 前台代码: 往form表单中赋值:   用户名和密码为空     记住我框不勾选
 类似资料: