estore简版商城问题总结
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,建表成功
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
失败:首页不是我的默认的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端口仍旧被占用。。。
看看昨天的修改,发现那个修改确实是改了,但是端口仍然被占用。。。
可能没有真正解决问题。。。
可能是sql server占用80端口导致?
于是停止该报表服务。。。
发现问题解决。。
参考文章:解决System进程占用80端口
网址:http://blog.csdn.net/u010191243/article/details/50756487
第三天打开,仍旧如此,而解决办法仍旧是:ql server占用80端口导致,于是停止该报表服务。。。
content=0 ;
url=http://www.baidu.com/
setTimeout('window.location="http://panliu888.myetang.com"',5000)
location为指定跳转页面的路径,5000为时间,单位毫秒!
参考博文:http://blog.csdn.net/ling_du/article/details/51713391
1.对于一些资源进行限制,某些情况,不用自动登录
2.注销不掉的问题:需要在删除session的同时,删除cookie
3.没有勾选自动登录的时候,清空cookie(保证安全)
4.信息被篡改,清空cookie(为了更加安全)
是单向,我们只能进行加密,而不能进行解密
本estore商城,只是对用户的密码进行了加密操作。
鉴于密码的重要性,因此,我们必须要知道,这些加密前的数据到底是什么,否则,一旦忘记,就无法进行登陆了。
就是注册和登录前,那些密码数据利用md5进行加密,从而保存进数据库中
1.写代码时,保存的图片存放路径是硬盘下的绝对路径,而不是web应用在images目录下的相对路径
2.因为当前web应用是以定义域名方式发布工程的,所以书写路径的时候要注意,因为再去访问web应用中的资源文件的时候,都不要再加主机名了,否则会出现访问不到的情况
//:D:/myeclipse_workspace/estore/images/1/2+ "/" +xxx.jpg
product.setImageurl(path+"/"+uuidName);//存放图片位置 失败
//应该是 /images/1/2 + "/" + xxx.jpg
读取配置文件
配置文件在src目录下, 所以可以 使用 类加载器去读 ,还可以 使用SerlvetContext去读 ???
不熟悉???【已解决】
网页内容重复了,而且还报错。。。
十一月 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.Filter(req,resp)
最终成功了
十一月 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
通过改变文本框的数字:比如,1改为23,然后购物车的session中的cart也做了更改,如何实现?
主要是,怎样获得当前文本框的值的问题:this.value(文本框当前值)
this.value)">
购物车 à确认订单(填写收货人信息)à生成订单 à支付
web层与service层的功能,分别做什么有点混淆?
web层,负责封装数据
service,负责处理一些业务逻辑,并开启事务管理(ThreadLocal本地线程类的使用,实现解耦合【因为Connection不应该出现在service层】)
而自己对ThreadLocal的实现不是怎么熟悉?
多表查询?
多表查询后,同时查询出来的几个表的数据如何处理?如何分别进行获取?
解决1:
MapHandler()和MapListHandler()的使用可以解决这个问题
CommonUtil.toBean(map,xxx.class); 封装到某个对象中
解决2:
在现有的javabean中添加一些字段,就可以减少查询的难度
1、知识点不清晰,导致不懂
2、遇到问题时,没有认真去分析和思考,而是盲目的粘贴问题去百度,导致没有对症下药,东忙一阵子,西忙活一阵子,浪费很多时间也没有解决问题。
因此,个人认为,遇到问题,首先要分析原因所在,利用排除法去推理问题出现的原因,才能比较快的找到问题的答案
3、一些业务逻辑不懂,有点不知如何下手。
因此,弄懂业务逻辑是关键