estore简版商城问题总结
来源:互联网 发布:php erp 开源 编辑:程序博客网 时间:2024/06/06 00:12
estore简版商城问题总结
1、order表创建失败
create table order(
id varchar(50)primary key,
money double,
ordertimedatetime,
receiveinfovarchar(100),
paystate int,
user_idvarchar(50),
foreignkey(user_id) references user(id)
);
以上就是建表语句
问题:
Error Code: 1064. You have an error in your SQL syntax;check the manual that corresponds to your MySQL server version for the rightsyntax to use near 'order ( idvarchar(50) primary key, moneydouble, ordertime datetime, re' at line 1
解决:
order是mysql的关键字,不能用order作为表名
所以将order表明更改为orders,建表成功
2、制作图片缩略图工具(PicUtils)导入错误
问题:
Accessrestriction: The type JPEGImageEncoder is not accessible due to restriction onrequired library
D:\myeclipse2014\binary\com.sun.java.jdk7.win32.x86_64_1.7.0.u45\jre\lib\rt.jar
解决:
解决方法:
Project ->Properties -> libraries,
先remove掉JRE System Library,然后再Add Library重新加入。
参考博文:http://blog.csdn.net/free4294/article/details/7017442
3、以顶级域名的方式发布工程失败
问题:
失败:首页不是我的默认的index.jsp页面
解决一:失败
分析原因:可能是当初我安装了一个iis6软件有关
卸载后,看看能不能解决?
发现,失败
解决二:仍旧失败
打开控制面板 〉〉找到程序和功能>> 点开启用或关闭 Windows功能窗口,找到Internet信息服务,将Internet信息服务前面的加号点开,找到web管理工具,里面有IIS管理服务、IIS管理脚本和工具、IIS管理控制台。直接把将Internet信息服务关掉就行。
关闭后:
访问网页:仍旧有问题
当tomcat服务器设置回8080端口是,可以访问部署到tomcat内的web应用;
而为80端口时,出现上述的问题:HTTP Error 404. The requested resource is not found.
解决三:成功
80端口被占用
分析:80端口被占用
解决80端口被占用的问题?
参考文章行:最全最详细关于解决本地搭接80端口被占用问题
网址:
https://jingyan.baidu.com/article/c843ea0ba10c0d77921e4a61.html
80端口被占用解决,成功显示页面
总结:80端口被占用导致
问题二:
第二天,打开电脑,运行程序,发现80端口仍旧被占用。。。
看看昨天的修改,发现那个修改确实是改了,但是端口仍然被占用。。。
可能没有真正解决问题。。。
解决四:
可能是sql server占用80端口导致?
于是停止该报表服务。。。
发现问题解决。。
参考文章:解决System进程占用80端口
网址:http://blog.csdn.net/u010191243/article/details/50756487
第三天打开,仍旧如此,而解决办法仍旧是:ql server占用80端口导致,于是停止该报表服务。。。
4、jsp中5秒后跳转到另外一个页面
1.在head头部里写meta标签
<head>
<meta http-equiv="refresh"content="0;URL=http://xxx.xxx.xxx/">
</head>
content=0 ; <!--设置本页面停留时间,单位为秒-->
url=http://www.baidu.com/ <!--将要跳转的页面路径-->
2.用javascript实现
<html>
<script language=javascript>
setTimeout('window.location="http://panliu888.myetang.com"',5000)
</script>
</html>
location为指定跳转页面的路径,5000为时间,单位毫秒!
参考博文:http://blog.csdn.net/ling_du/article/details/51713391
5、自动登录(cookie实现+过滤器)
1.对于一些资源进行限制,某些情况,不用自动登录
2.注销不掉的问题:需要在删除session的同时,删除cookie
3.没有勾选自动登录的时候,清空cookie(保证安全)
4.信息被篡改,清空cookie(为了更加安全)
6、md5加密
是单向,我们只能进行加密,而不能进行解密
本estore商城,只是对用户的密码进行了加密操作。
鉴于密码的重要性,因此,我们必须要知道,这些加密前的数据到底是什么,否则,一旦忘记,就无法进行登陆了。
就是注册和登录前,那些密码数据利用md5进行加密,从而保存进数据库中
7、显示图片失败
失败原因:
1.写代码时,保存的图片存放路径是硬盘下的绝对路径,而不是web应用在images目录下的相对路径
2.因为当前web应用是以定义域名方式发布工程的,所以书写路径的时候要注意,因为再去访问web应用中的资源文件的时候,都不要再加主机名了,否则会出现访问不到的情况
//:D:/myeclipse_workspace/estore/images/1/2+ "/" +xxx.jpg
product.setImageurl(path+"/"+uuidName);//存放图片位置 失败
//应该是 /images/1/2 + "/" + xxx.jpg
8、权限控制,一些路径不会写
读取配置文件
配置文件在src目录下, 所以可以 使用 类加载器去读 ,还可以 使用SerlvetContext去读 ???
不熟悉???【已解决】
9、一个异常:
现象:
网页内容重复了,而且还报错。。。
异常:
十一月 17, 2017 4:42:21下午org.apache.catalina.core.StandardWrapperValveinvoke
严重: Servlet.service() for servlet [default] in context with path [] threw exception
java.lang.IllegalStateException: Cannot call sendError() after the responsehas been committed
尝试解决一:(缩小问题范围)
把写好的过滤器,自动登录过滤器和权限控制过滤器,在web.xml文件中注释掉,发现问题没了,
因此问题,可能在自动登录过滤器和权限控制过滤器中
再一次缩小范围,发现自动登录过滤器没有问题,
因此,问题应该处在权限控制过滤器中.
发现自己确实有一个地方出错,但是与这个问题毫无关系,所以最后就莫名奇妙的解决了。
但是也不确定,是不是,整的解决了
改正前:
// 读取配置文件admin.txt获取管理员的权限列表
StringadminPath = PrivilegeFilter.class.getClassLoader()
.getResource("user.txt").getFile();//首先,此处文件写为了user.txt是错了,现在改正了
改正后:
// 读取配置文件admin.txt获取管理员的权限列表
StringadminPath = PrivilegeFilter.class.getClassLoader()
.getResource("admin.txt").getFile();//首先,此处文件写为了user.txt是错了,现在改正了
发现并没有解决
尝试解决二:(自动登录过滤器)
看看异常中,还提到了自动登录过滤器,分析下代码,可能下面的那段代码是多余的,所以尝试删除那段代码看看
删除后
仍旧失败
解决三:(删除多余 chain.doFilter(req,resp))
过滤器里写了两次chain.Filter(req,resp)
最终成功了
10、一个异常
异常:
十一月 18, 2017 10:23:01 上午 org.apache.catalina.session.StandardSessionwriteObject
警告: Cannot serialize session attribute cart for session4ACD6D46CC5845CE7552A3DF9E10E6CF
java.io.NotSerializableException: com.zhku.jsj144.domain.Product
解决方法
参考博文:Cannot serialize session attribute XXX for .的解决方法
网址:http://blog.csdn.net/xuanjiewu/article/details/48938849
11、实时改变一个输入文本框的值?
通过改变文本框的数字:比如,1改为23,然后购物车的session中的cart也做了更改,如何实现?
解决:
主要是,怎样获得当前文本框的值的问题:this.value(文本框当前值)
<input type="text" name="count"value="${cartitem.value}" size="5"onblur="change('${cartitem.key.id} ',this.value)">
12、购买逻辑
购物车 à确认订单(填写收货人信息)à生成订单 à支付
13、生成订单
web层与service层的功能,分别做什么有点混淆?
web层,负责封装数据
service,负责处理一些业务逻辑,并开启事务管理(ThreadLocal本地线程类的使用,实现解耦合【因为Connection不应该出现在service层】)
而自己对ThreadLocal的实现不是怎么熟悉?
14、查看订单
多表查询?
多表查询后,同时查询出来的几个表的数据如何处理?如何分别进行获取?
解决1:
MapHandler()和MapListHandler()的使用可以解决这个问题
CommonUtil.toBean(map,xxx.class); 封装到某个对象中
解决2:
在现有的javabean中添加一些字段,就可以减少查询的难度
15、总结:
1、知识点不清晰,导致不懂
2、遇到问题时,没有认真去分析和思考,而是盲目的粘贴问题去百度,导致没有对症下药,东忙一阵子,西忙活一阵子,浪费很多时间也没有解决问题。
因此,个人认为,遇到问题,首先要分析原因所在,利用排除法去推理问题出现的原因,才能比较快的找到问题的答案
3、一些业务逻辑不懂,有点不知如何下手。
因此,弄懂业务逻辑是关键
- estore简版商城问题总结
- estore简版商城
- estore简版商城思路
- estore简版商城疑点思考
- estore和小项目总结
- 商城总结
- php商城项目总结
- 商城项目总结
- 淘淘商城项目总结
- 商城项目总结
- 商城项目总结
- Estore网上购书项目
- ###Jsp+Servlet购物商城day04.5:支付:订单支付遇到的问题总结。
- 电子购物商城项目总结
- 商城项目总结(一)
- 商城项目总结(二)
- 商城之点滴错误总结
- 淘淘商城总结-后台管理
- APACHE
- 数据科学与机器学习引领持续创新
- 一个Java小白面试得力集团的收获
- awk详解(上)
- 安卓ios二代身份证OCR识别技术提供源码
- estore简版商城问题总结
- abase(postgresql)常见问题
- 获取指定年月的上月日期
- JDK安装环境变量配置
- SpookFlare: 黑暗中前行
- python连接mysql数据库时报错:import _mysql ImportError: libmysqlclient.so.18: cannot open shared object file:
- 展望:从深度学习进展到通用学习机
- 第一篇博客 学习markdown
- C++ 函数隐藏