尚学堂shopping的经验
本人在看尚学堂的视频时写下的经验, 故分享分享:
1. 一般,我们要写项目的路径时,我们的项目可能拿到其他的机器里运行, 故应该改为如下,
http://localhost:8080/项目的名称
=request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() +
request.getContextPath()
2.用request.get的方法传的编码是:8859_1, 可用以下语句更改:
String keyword = new String(request.getParameter("keyword").getBytes("8859_1"), "GBK");
3.当提示类型不匹配时(类型名相同), 很可能是包引入错误.
4在调用TV20.js文件里的treeview_box_0_none = "images/4_clos.gif"(路径) ;该url是相对于调用它的jsp文件的相对路径.
5.面向接口: 例如: 在shopping中做products的DAO层, 为方便用 不同的数据库(SQL, Oracle等), 在建立DAO层时,采用面向接口的方法, 建立productDAO.java 为interface. 然后由不用的数据库DAO层继
(productMySQLDAO.java 或productOracleDAO.java ) .这样, 就不用避免了重写productDAO.java中数据与数据库代码的组织. 在做DAO层时, 推荐该方法.这也是有名的工厂模式!
6.单例模式: 1,写静态方法.
2, 在该类构造方法中new成私有的, 使得别人无法new它的对象, 然后提供一静态方法为接口供访问(即返回该类的对象). 例如:shopping中productMgr类中就采用该方法, 其对外提供的接口为: getInstance();
7.在发现数据库中数据显示为乱码时, 因成数据的生成, 传送, 到数据库的存储间, 一步步的寻找编码问题.
8.在MySQL中, 数据库编码的问题可由两种方法解决:
一, 开始->程序->……的My server Instance config Wizard重新做设置设定;
二, 在MySQL安装处的my.ini文件里:
[client]
port=3306
[mysql]
default-character-set=GBK 此处为客户端的编码(即是显示给你看的窗口处), 可改为GBK(只能显示中文和英文)
#Path to the database root
datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8
该处为数据库内部的编码, 强烈不建议改动, UTF8是国际编码, 可显示各个国家的编码.!
注: 数据库编码的改动不能影响之前存储的数据.
9. 关于分页:
网页中显示记录经常用到分页, 在分页技术中:
一, 数据库语法: 分页: select * from article limit pageNo, pageSize;
二, 在写关于 “下一页, 上一页”功能时,
可将pageSize 设置为该方法:private static final int PAGE_SIZE = 3;
在接受PageNo时, 还应该判断是否小于1 ,若小于1, 应该重新赋值为1;
10.在get方法提交时
<a href = "productsearch.jsp?action=<%=action%>&keyword=<%=keyword%>&lownormalprice=<%=lownormalprice%>&highnormalprice=<%=highnormalprice%>&lowmemberprice=<%=lowmemberprice%>&highmemberprice=<%=highmemberprice%>&startDate=<%=startDate%>&endDate=<%=endDate%>&categoryid=<%=categoryid%>&pageno=<%=pageNo + 1%>">下一页</a>
在做String strStartDate = request.getParameter("startDate");接收时, 系统会把它当作startDate = null, 于是,strStartDate = “null”
11.关于页面的跳转
一.response.sendRedirect().该方法会实现页面跳转,但会丢失数据, 即不能传送数据。(pose, get方法的数据);
二.<jsp:forward page=”complexsearchresult.jsp“></jsp:forward> 这个便可以传送数据了。
12.session的典型运用—保存.
例如: 在shopping视频41 buy.jsp中,
一. Cart cart = (session)session.getAttribute(“cart”);
session.setAttribute(“cart”, cart);
二.<jsp:useBean id = “cart” type=”com.shopping.Cart” scop = “session”></jsp:useBean>
13.如何在input中利用name 传递 数值:
例如: 在shopping 45视频cart.jsp中,
在input中填补后传递给另一个页面时, 若需要同时传递id 跟value, 可用name传递id, 写法如下:
<input type = text size=4 name = “<%= “p” + ci.getProductId() %>” value = “<% ci.getCount %> // 加上 p 是为了让它变成字符后, 然后才可以传递
接受可用:
String strProductId = request. getParameter( “p” + ci.getProductId());
然后直接把strProductId Integer.parseInt化即可拿到该值.
尚学堂shopping的经验相关推荐
- [原创 - 尚学堂科技 - 马士兵老师]
JAVA自学之路 一:学会选择 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html] 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多 ...
- JAVA自学之路 [原创 - 尚学堂科技 - 马士兵老师]
(我觉得看了之后挺不错的所以分享一下) JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3 ...
- 尚学堂Java培训:JAVA优秀书籍推荐
转自:[http://www.bjsxt.com/books/goodbooks.html] 如果你曾经尝试过自学某些知识点,比如JavaSE.JDBC等等,相信有很多情况会觉得按照书上的操作非常难进 ...
- 尚学堂java培训_送给 Java 自学者或者初学者的最全知识清单,2020 年 Java 就该这么学...
最近逛知乎,发现有很多想自学 Java 或者 Java 初学者提问,不知道如何学习 Java?我接触 Java 快 8 年的时间了,一直从事 Java 开发工作,自己一直升级打怪,对于如何更好的学习 ...
- 尚学堂j2ee视频教程
尚学堂j2ee视频教程 简介:本课程从最初级的Java开始授课,一直讲授至J2EE.由浅入深, 手把手的讲课风格,深入讲解jsp&servlet. Struts.Spring.Hibernat ...
- [转]尚学堂科技 - 马士兵老师-JAVA自学之路
[原创 - 尚学堂科技 - 马士兵老师] JAVA自学之路 一:学会选择 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html] 为了就业,不少同 ...
- 尚学堂怎么样?告诉你学渣是怎样成为前端工程师的
尚学堂究竟怎么样?我之前对这里一无所知.我毕业于一所普通的理工类院校的信息管理专业,和很多应届毕业生一样,找工作是一个非常大的难题.我当时对自己非常没有信心,因为大学四年我不知道自己学了什么,掌握了什 ...
- 长沙尚学堂python培训学校
近期,数据科学网站KDnuggets,发布的2018数据科学和机器学习工具调查结果也显示:Python荣登第一,成为最受青睐的分析.数据科学.机器学习工具. 如何快速学习 Python? 不管学什么技 ...
- 长沙尚学堂python培训机构
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括图像识别.语言识别.专家系统.自然语言处理和机器人科学等.现在市面上 ...
最新文章
- Eclipse运行时无法加载主类的解决方法
- 计算机网络 公有IP和私有IP介绍
- python vs java 搞笑视频_Python VS Java,谁能笑到最后?
- java 绑定微信号开发_Java开发中的常见危险信号
- java.sql.SQLException: The server time zone value ‘???ú±ê×??±??‘ is unrecognized or represents more
- 获取 视频 音频 及其他文件的真实信息(不靠文件后缀判断) (getID3())
- Linux SSh scp使用【远程文件/目录的传输】
- node重绘图片_使用nodejs生成图片的尝试
- Xcode build解密
- 自主导航小车实践(二)
- 一秒给黑白照片上色、模糊图片变清晰
- Java Swing 设置全局的字体
- 漫威金刚狼男主弃影炒币了?
- scrollToBottom
- pymysql mysql 1064_python使用pymysql操作MySQL错误代码1054和1064处理
- 牛客小白月赛28 J.树上行走
- postman打开启动慢,原因:长时间没清理缓存,解决:删除postma缓存重启即可
- 标题:引发国际关注,CoinDesk、雅虎财经北美等持续报道
- 安全团队不可错过的 7 个开源工具
- NLP自然语言处理:关键词提取