做网上商城项目的一点记录
1. 注意事项:
1. @注解相关
1. StringUtils中的isBlank与isEmply区别(org.apache.commons.lang3.StringUtils此包中)
StringUtils.isEmpty():参数如果是null、”” 返回true
StringUtils.isBlank():参数是null、””、” ” 都返回true
2. JS中,提交表单时若果是:$(“#formName”).serialize()
指的是将表单内容序列化成key-value形式(提交到后台可以直接匹配一个pojo)
3. @RequestBody 放在方法参数前,会把页面请求中的json字符串封装到该注解后面的pojo中(spring自动完成将json字符串转Java对象再封装到pojo中,且js中需定义 contenttype=application/json)
3.1. json字符串和json对象的转换:
var bToObject=JSON.parse(b);
3.2. json对象转为json字符串:
var aToString=JSON.stringify(a);
4. @ResponseBody 放于方法上面,将函数的返回结果直接响应给页面(json数据或字符串)
5. 将密码加密可以直接使用spring的一个包下的工具:
user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes()));
6. 编写service时,不要加try,catch语句,因为aop会根据是否出现异常来选择进行回滚,如加上try-catch语句,则不会回滚!
答:解决方案不写try-catch语句或在catch语句中手动回滚。
7. Controller中如从页面接收的数据如果包含多个形参,可以用包含这些形参属性的pojo来接收,spring会自动注入这些属性信息,没有对应的属性应用形参来接收。
8. 有时需要手动启动SQLserver :doc中命令:net start sql
9. 表中 text类型为较大的文件,选择非主键查询时必须用:selectByExampleWithBLOBs(example)
如: List<TbItemParam> list = itemParamMapper.selectByExampleWithBLOBs(example);
10. 如何加载属性文件的值
创建一个属性文件 ---> 使用spring容器扫描属性文件 ---> @Value注解取属性的值。
11. @ResponseBody:其实是直接调用response.write()把结果返回给浏览器;(默认会将Java对象转换成json数据),而这样有些浏览器不能直接接受json数据,会造成不兼容问题,因此返回String是最好的选择(手动将Java对象转换成字符串)
12. @RequestMapping(value = "/user/{userId}",produces=MediaType.TEXT_HTML_VALUE+”;charset=utf-8”)
答:他就是一个请求路径的占位符,它可以通过@PathVariable("userId") 绑定到操作方法的参数中
@RequestMapping(value = "/user/{userId}/{userName}")
public String loginPage(@PathVariable String userId, @PathVariable String userName) {
...
}
而produces=MediaType.TEXT_HTML_VALUE+”;charset=utf-8”表示通知浏览器返回的类型是HTML,应采取相应方式解析
另:/user/*/login:匹配/user/xxx/login、/user/yyy/login
/user/**/login: 匹配/user/login、/user/aaa/login
/user/login??: 匹配/user/loginaa、/user/loginbb
/user/{userId}: 匹配 /user/123、/user/456
/user/**/{userId} : 匹配 /user/aaa/bbb/123、/user/xxx/345
13. cartItem.getId().longValue() == longId 当两个Long类型比对时,== 比较的是其内存地址,因注意转换成数值再进行比对!
14. 每一个子工程中的pom.xml配置完之后,会自动导入jar包到eclipse中,其实是从本地仓库拷贝到了C:/User/19650/.m/…下并导入eclipse,如提示缺包可自行拷贝到该路径下。
15. packing有三种:
1. pom方式:创建聚合工程;
2. jar方式:生成可以引用的jar包;(如创建的taotao-common工具类maven工程)
3. war方式:创建带有Web资源文件的包。每个聚合工程中都应该至少包含一个war包。
16. 在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。
Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地方)
2. 问题集合:
1. 遇到java.util.zip.ZipException: invalid LOC header问题
答:是由于eclipse中的mavenuser setting中的路径指向默认是C:user/*/repository 所以每次设置完依赖后都会从Maven的本地仓库中将相关jar包复制到C对应目录盘下,再将其导入到eclipse
http://blog.csdn.net/limingjian/article/details/53925001
2. Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean
答:出现这种错误,通常是由于您已启动了另一个tomcat 进程,导致报错。
解决方法:
鼠标点击 X 进行关闭运行失败的 Console页,(如果运行多次,程序的console都只会放在这里)
3. navicat mysql导入数据sq文件时 USING BTREE 错误
答:只需要将sql文件之中的USING BTREE放在括号前面就好了。
另外,如果提示说第一句错误’/*(注释信息),可以试试将SQL文件转为UTF-8无BOM编码格式’
4. 配置springmvc.xml出现的问题:
4.1. The matching wildcard is strict, but no declaration can be found for element 'context:component-scan'.
4.2. cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'mvc:annotation-driven'.
schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd', because 1) could not
find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
答:一般是命名空间有误,修改顺序即可
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
5. 逆向工程生成mapper包和pojo包出现Result Maps collection already contains value for xyx.dsw.dao.mapper.admin.quotationwish.TempTestTableMapper.TempTestTableResult错误
答:检查是否手滑生成了2次,生成的mapper的xml文件会追加。
6. 一般提示log4j找不到,可以自己新建一个log4j.properties文件,并保证在web.xml中log4j的配置和监听器在spring的前面。
3. Linux常见操作命令:
常用指令
- ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
- mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
- cd 切换目录
- touch 创建空文件
- echo 创建带有内容的文件。
- cat 查看文件内容
- cp 拷贝
- mv 移动或重命名
- rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
例:rm –rf /ect/fdfs/
rm fdfs* -f
- find 在文件系统中搜索某文件
- wc 统计文本中行数、字数、字符数
- grep 在文本文件中查找某个字符串
- rmdir 删除空目录
- tree 树形结构显示目录,需要安装tree包
- pwd 显示当前目录
- ln 创建链接文件
- more、less 分页显示文本文件内容
- head、tail 显示文件头、尾内容
- ctrl+alt+F1 命令行全屏模式
打包压缩相关命令
- gzip:
- bzip2:
- tar: 打包压缩
-c 归档文件
-x 压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名
例:
- tar -cvf /home/abc.tar /home/abc 只打包,不压缩
- tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
- tar –zxvf /home/abc.tar.gz /home/abc 解压
- tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
当然,如果想解压缩,就直接替换上面的命令tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。
转载于:https://www.cnblogs.com/zzp925/p/7554860.html
做网上商城项目的一点记录相关推荐
- 做网上商城这个项目了。。。
今天开始就做网上商城这个项目,班级分成了10个小组,每个小组大概6人. 好好努力吧...
- 【SSH网上商城项目实战16】Hibernate的二级缓存处理首页的热门显示
转自:https://blog.csdn.net/eson_15/article/details/51405911 网上商城首页都有热门商品,那么这些商品的点击率是很高的,当用户点击某个热门商品后需要 ...
- 【SSH网上商城项目实战】之环境搭建填坑
此篇主要是记录我在从零开始走一遍倪升武大神的[SSH网上商城项目实战]过程中遇到的一些坑并记录解决方法.关于这个项目,大家可以去倪升武的博客学习了解,SSH网上商城项目实战请戳倪升武的项目实战专题. ...
- 【SSH网上商城项目实战21】从Demo中看易宝支付的流程
这一节我们先写一个简单点的Demo来测试易宝支付的流程,熟悉这个流程后,再做实际的开发,因为是一个Demo,所以我没有考虑一些设计模式的东西,就是直接实现支付功能.实现支付功能需要易宝给我们提供的AP ...
- Django框架学习之网上商城项目一(后端设计)
目录 一.项目需求分析 1.项目介绍 1.技术难点 2.系统功能 3.项目环境 4.后台管理页面 二.数据库模型设计 一.准备工作 二.用户认证数据库模型设计 1. app/users/models. ...
- 十七、网上商城项目(1)
本章概要 脚手架项目搭建 安装与配置 axios 首页 页面头部组件 头部搜索框组件 头部购物车组件 头部组件 本章结合前面所学知识,开发一个网上商城项目. 成品如下 17.1 脚手架项目搭建 选择好 ...
- java web网上商城项目实战与源码
java web网上商城项目实战与源码 点击这里,轻松完成毕设https://x-x.fun/i/AAbf595445aBT
- 商城项目中信息的集合怎么存储_网上商城项目_数据库设计说明书.doc
秘密 第 PAGE 2 页 共 NUMPAGES 10 页 信用卡网上商城项目 数据库设计说明书 文件修订历史 修订时间 修订说明 作者 审核 2010.08.05 编写数据字典 谭星佑 曾玉贞 20 ...
- 做游戏修改器的一点记录,有关大航海家3
做游戏修改器的一点记录,有关大航海家3 varGameh:HWND;GamePid:DWORD;Gamehprocess: THandle;SitNum :DWORD;readByte:DWORD; ...
最新文章
- 网站服务器蜘蛛日志怎么看,如何查看百度蜘蛛,google蜘蛛爬取记录?《网站日志分析篇》...
- 【学习笔记】新基建/新动能——部分学习笔记
- 三、在应用中升级----网络编程部分
- wex5链接mysql_wex5数据库连接自己的数据库在哪里配置的
- 微软要给PPT实时生成字幕,将支持60种语言,还会断句
- RuntimeWarning: coroutine ‘ClientResponse.text‘ was never awaited self._context.run(self._callback)
- java对账_Java微信对账接口返回值解析
- 把握linux内核设计思想系列【转】
- [php] 表单注意事项
- mysql 存储过程 查询语句怎么写_mysql 查询数据库中的存储过程与函数的语句
- C++、QT的物业管理系统
- JAVA项目答辩的自我评价_毕业论文答辩自我评价
- 中兴linux下载软件,最新中兴新支点操作系统v3.2.2 最新版下载地址电脑版-CC软件...
- Android 进阶之路《丢掉初学者的诟病》
- 计算机平面设计主要学什么 - 兔课网,兔课网:初学平面要怎么样构图?
- bigworld源码分析(1)—— 研究bigworld的意义和目标
- 团队作业第二次—团队展示
- 901.freeswitch常用命令
- ORA-10458、ORA-01152、ORA-01110 Update20201121
- 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(上)
热门文章
- HashSet 与HashMap底层实现
- php团队奖,PHP生成奖状
- ide中tomcat乱码_idea tomcat 乱码问题的解决及相关设置
- python交互解释器_Python 交互解释器
- python 3_Python3 列表
- outlook qr码在哪里_优势对比:阜阳洋葱店邀请码
- mysql 长轮询_基于HTTP长轮询实现简单推送
- (99)FPGA ROM实现(V实现)
- (38)System Verilog类class复制详解
- python连接mysql_Python连接MYSQL数据库