estore简版商城问题总结
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"οnblur="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简版商城疑点思考 一.疑点 1.疑点一:[解决] 读取 web应用中的 资源 文件 解答: 本人博文:javaweb读取 web 应用中的资源文件 http://blog.csdn.ne ...
- 公司网站营销方案(简版)
公司网站营销方案(简版) 前言: 随着网络的普及,以及人们文化素质的提高,上网是大多数人生活中不可缺少的一部分,同时有相当一大部分的人,积极的参与网上的各种活动,现在越来越多的人,希望利用业余的时间, ...
- [置顶]完美简版学生信息管理系统(附有源码)管理系统
简版学生信息管理系统 目前为止找到的简版系统中最新.最全的java类管理系统 点击进入简版系统 如果无法直接连接,请进入: https://blog.csdn.net/weixin_43419816/ ...
- 7句话让Codex给我做了个小游戏,还是极简版塞尔达,一玩简直停不下来
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 什么,7 ...
- 来,一起手撸一个简版 Redis(附源码)
点击上方 视学算法,选择 设为星标 优质文章,及时送达 作者 | 凯京技术团队 来自 | my.oschina.net/keking/blog/3037372 今天主要介绍两个开源项目,然后创建应用最 ...
- 2012年中国移动地图和导航市场研究报告简版
2019独角兽企业重金招聘Python工程师标准>>> 2012年中国移动地图和导航市场研究报告简版 2012年中国移动地图和导航市场用户规模为2.53亿人,增长率为62.2%.伴随 ...
- 10分钟手撸极简版ORM框架!
最近很多小伙伴对ORM框架的实现很感兴趣,不少读者在冰河的微信上问:冰河,你知道ORM框架是如何实现的吗?比如像MyBatis和Hibernte这种ORM框架,它们是如何实现的呢? 为了能够让小伙伴们 ...
- 《数字孪生体技术白皮书(2019)》(简版)全文
来源:<数字孪生体实验室原创> 12月27日,数字孪生体实验室与安世亚太联合正式发布了<数字孪生体技术白皮书(2019)>. 白皮书的第一部分关注对数字孪生体的抽象和总结.无论 ...
- Dockerfile 简版大全,附赠编写实例
基础镜像可以用于创建Docker容器.镜像可以非常基础,仅仅包含操作系统:也可以非常丰富,包含灵巧的应用栈,随时可以发布.当你在使用Docker构建镜像的时候,每一个命令都会在前一个命令的基础上形成一 ...
- react-redux简版实现
Provider组件 Provider用于建立能够被子组件访问的全局属性,核心API有两个: childContextTypes静态属性,用于指定被子组件访问的全局属性类型 getChildConte ...
最新文章
- python实现网络监控_使用python进行服务器监控
- 培训第二弹:全国大学生智能汽车竞赛百度竞速组预告
- 重写equals和hashCode
- MySQL高级 - 锁 - InnoDB行锁 - 间隙锁危害
- java 状态机_基于 RAFT 一致性算法的 Java 实现 SOFAJRaft
- WAMP本地环境升级php版本操作步骤(详细)
- python中type为什么有main_python中 __name__及__main()__的妙处
- ibatis返回数据集映射举例
- 1044. 火星数字(20)-PAT乙级真题
- 4600u黑苹果 r5_黑苹果配置 篇四:黑苹果硬件选购指南之m-ATX篇--2019年8月
- Accuracy(精度)、Precision(精准度)和Recall(召回率)
- 【中学提纲】必修一——细胞的生命历程
- JSHOP2详细使用教程 -- 原创
- 构建linux图形安装程序,Scientific Linux 5.5 图形安装教程
- tkinterQQ音乐与音频可视化
- 02—测试用例内容包含、测试用例的设计点
- NBA 球星杜兰特的加密投资版图
- Ubuntu开发环境_TLP电源管理模块、禁用笔记本触摸板
- ubuntu conf误删除的问题
- 苹果风波不断,Siri语音助手面临隐私诉讼
热门文章
- java编写智能合约_区块链实现JAVA语言智能合约的设计方案简介
- qemu-img命令详解
- js 图表处理之Echar
- Rhino导入Revit生成体量幕墙的方法和操作要点
- 【Python】pandas计算DataFrame各列相关系数以及显著性检验
- 一行让电脑说话的代码
- 省钱兄(APP、h5版本)任务悬赏点赞平台uniapp前端源码模板
- 电磁学matlab仿真实验报告,利用MATLAB语言处理电磁学实验.doc
- 利用python进行身份证号码大全_身份证号码设置显示格式,我用了最笨的办法,你有什么好办法吗?...
- MTK TouchPanel 驱动框架