首页 > 其他 > 详细

做网上商城项目的一点记录

时间:2017-09-20 00:02:42      阅读:351      评论:0      收藏:0      [点我收藏+]

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常见操作命令:

常用指令

  1. ls     显示文件或目录

   -l  列出文件详细信息l(list)

   -a  列出当前目录下所有文件及目录,包括隐藏的a(all)

  1. mkdir  创建目录

   -p  创建目录,若无父目录,则创建p(parent)  

  1. cd     切换目录
  2. touch  创建空文件
  3. echo   创建带有内容的文件。
  4. cat    查看文件内容
  5. cp     拷贝
  6. mv     移动或重命名
  7. rm     删除文件

   -r  递归删除,可删除子目录及文件

   -f  强制删除

例:rm –rf /ect/fdfs/

       rm fdfs* -f

  1. find   在文件系统中搜索某文件
  2. wc     统计文本中行数、字数、字符数
  3. grep   在文本文件中查找某个字符串
  4. rmdir  删除空目录
  5. tree   树形结构显示目录,需要安装tree包
  6. pwd    显示当前目录
  7. ln     创建链接文件
  8. more、less   分页显示文本文件内容
  9. head、tail   显示文件头、尾内容
  10. ctrl+alt+F1  命令行全屏模式

 

打包压缩相关命令

  1. gzip:
  2. bzip2:
  3. tar:     打包压缩

   -c    归档文件

   -x    压缩文件

   -z    gzip压缩文件

   -j    bzip2压缩文件

   -v    显示压缩或解压缩过程 v(view)

   -f    使用档名

例:

  1. tar -cvf /home/abc.tar /home/abc        只打包,不压缩
  2. tar -zcvf /home/abc.tar.gz /home/abc    打包,并用gzip压缩
  3. tar –zxvf /home/abc.tar.gz /home/abc    解压
  4. tar -jcvf /home/abc.tar.bz2 /home/abc   打包,并用bzip2压缩

当然,如果想解压缩,就直接替换上面的命令tar  -cvf  /   tar  -zcvf  /  tar  -jcvf 中的“c” 换成“x” 就可以了。

做网上商城项目的一点记录

原文:http://www.cnblogs.com/zzp925/p/7554860.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!