黑马程序员JavaEE就业班同步笔记第一阶段Word文件下载.docx

上传人:b****5 文档编号:18527692 上传时间:2022-12-19 格式:DOCX 页数:10 大小:18.41KB
下载 相关 举报
黑马程序员JavaEE就业班同步笔记第一阶段Word文件下载.docx_第1页
第1页 / 共10页
黑马程序员JavaEE就业班同步笔记第一阶段Word文件下载.docx_第2页
第2页 / 共10页
黑马程序员JavaEE就业班同步笔记第一阶段Word文件下载.docx_第3页
第3页 / 共10页
黑马程序员JavaEE就业班同步笔记第一阶段Word文件下载.docx_第4页
第4页 / 共10页
黑马程序员JavaEE就业班同步笔记第一阶段Word文件下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

黑马程序员JavaEE就业班同步笔记第一阶段Word文件下载.docx

《黑马程序员JavaEE就业班同步笔记第一阶段Word文件下载.docx》由会员分享,可在线阅读,更多相关《黑马程序员JavaEE就业班同步笔记第一阶段Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。

黑马程序员JavaEE就业班同步笔记第一阶段Word文件下载.docx

method=findById

传统:

[AppleScript]纯文本查看复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

publicclassUserServletextendsHttpServlet{

publicvoidservice(HttpServletRequestreq,HttpServletResponseresp){

//接收参数:

StringmethodName=request.getParameter(“method”);

if(“regist”.equals(methodName)){

regist(req,resp);

}elseif(“login”.equals(methodName)){

login(req,resp);

}

publicvoidregist(HttpServletRequestreq,HttpServletResponseresp){

publicvoidlogin(HttpServletRequestreq,HttpServletResponseresp){

publicclassProductServletextendsHttpServlet{

if(“findAll”.equals(methodName)){

findAll(req,resp);

}elseif(“findById”.equals(methodName)){

findById(req,resp);

publicvoidfindAll(HttpServletRequestreq,HttpServletResponseresp){

publicvoidfindById(HttpServletRequestreq,HttpServletResponseresp){

反射:

publicclassBaseServletextendsHttpServlet{

//http:

//获得Class:

Classclazz=this.getClass();

Methodmethod=clazz.getMethod(methodName,HttpServletRequest.class,HttpSerlvetResponse.class);

Stringpath=(String)method.invoke(this,req,resp);

if(path!

=null){

req.getRequestDispatcher(path).forward(req,resp);

1

2

3

4

5

6

7

8

publicclassUserServletextendsBaseServlet{

publicStringregist(HttpServletRequestreq,HttpServletResponseresp){ 

return“/login.jsp”;

publicStringlogin(HttpServletRequestreq,HttpServletResponseresp){

return“/index.jsp”;

publicclassProductServletextendsBaseServlet{

publicStringfindAll(HttpServletRequestreq,HttpServletResponseresp){

publicStringfindById(HttpServletRequestreq,HttpServletResponseresp){

1.3.2搭建开发环境:

【步骤一】:

引入开发jar包

 

*mysql 

*c3p0 

1

*dbutils 

*beanutils 

2

*jstl 

*mail 

*fileupload 

【步骤二】:

创建包结构:

【步骤三】:

引入工具类和配置文件:

【步骤四】:

编写通用的Servlet:

1.3.3用户模块的代码实现:

【创建数据库和表】:

CREATETABLE`user`(

`uid`varchar(32)NOTNULL,

`username`varchar(20)DEFAULTNULL,

`password`varchar(20)DEFAULTNULL,

`name`varchar(20)DEFAULTNULL,

`email`varchar(30)DEFAULTNULL,

`telephone`varchar(20)DEFAULTNULL,

`birthday`dateDEFAULTNULL,

`sex`varchar(10)DEFAULTNULL,

`state`int(11)DEFAULTNULL,

`code`varchar(64)DEFAULTNULL,

PRIMARYKEY(`uid`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8;

【引入页面】

【创建相关类】

【用户的注册功能】

在首页上点击【注册】链接:

跳转到注册页面:

在注册页面中输入相关的信息:

*进行表单校验:

JQuery实现校验.

*异步用户名校验:

点击【注册】按钮:

提交到Servlet:

在Servlet中调用业务层调用Dao完成保存操作,同时发送一封激活邮件:

【发送激活邮件】

∙邮件发送的相关的概念:

*邮箱服务器 

:

如果一台电脑安装了邮箱服务器的软件,这台电脑称为是邮箱服务器.

*电子邮箱 

其实就是邮箱服务器上的一块空间,通过电子邮箱账号访问这块空间的数据.

*收发邮件的协议 

:

*发邮件:

SMTP协议:

SMTP(SimpleMailTransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

25默认端口号

*收邮件:

POP3协议:

POP3,全名为“PostOfficeProtocol-Version3”,即“邮局协议版本3”。

是TCP/IP协议族中的一员。

默认端口是110

IMAP协议:

IMAP(InternetMailAccessProtocol,Internet邮件访问协议)以前称作交互邮件访问协议(InteractiveMailAccessProtocol)。

IMAP是斯坦福大学在1986年开发的一种邮件获取协议。

*收发邮件的过程:

【搭建邮箱服务器】

∙安装易邮邮箱服务器:

∙配置易邮邮箱服务器:

*修改域名:

*注册账号:

∙客户端收发邮件的软件:

*OutLook 

微软,收费的.

*FoxMail 

免费的.

∙安装收邮件客户端软件:

【邮件发送的代码】

【激活用户】

在邮箱中点击【激活连接】

*根据激活码查询用户:

*修改用户状态:

*将激活码置为null:

页面跳转:

【用户登录】

在首页上点击【登录】链接.

跳转到登录页面:

在登录页面中输入信息:

点击【登录】按钮:

【用户退出】

在首页上点击【退出】链接

销毁session.

前台分类模块的功能:

2.1 

需求:

2.2 

分析:

使用异步的方式完成分类的加载:

2.3代码实现:

在首页上添加事件:

$(function(){

异步加载分类的数据;

});

创建分类的表:

CREATETABLE`category`(

`cid`varchar(32)NOTNULL,

`cname`varchar(20)DEFAULTNULL,

PRIMARYKEY(`cid`)

创建分类的相关的类:

相关代码的实现:

异步加载分类,显示JSON数据:

每个页面上都由分类的信息,每次进行页面跳转的时候都需要去连接数据库进行查询:

这样效率很低.需要优化当前程序!

*将数据存入到缓存中,每次获取的时候从缓存中进行获取.

*EHCache 

Hibernate框架二级缓存使用

*Memcached

*Redis

*使用缓存的技术优化程序!

!

*引入ehcache的包:

*代码实现:

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

@Override

publicList<

Category>

findAll()throwsSQLException{

/*CategoryDaocategoryDao=newCategoryDaoImpl();

returncategoryDao.findAll();

*/

/**

*使用缓存优化程序,先从缓存中获取数据

*获取到:

直接返回

*获取不到:

查询数据库,将记录存入到缓存中.

//读取配置文件

CacheManagercacheManager=CacheManager.create(CategoryServiceImpl.class.getClassLoader().getResourceAsStream("

ehcache.xml"

));

//从配置文件中获取名称为categoryCache缓存区

Cachecache=cacheManager.getCache("

categoryCache"

);

//判断缓存中是否有list集合:

Elementelement=cache.get("

list"

List<

list=null;

if(element==null){

//缓存中没有数据

System.out.println("

缓存中没有数据,查询数据库====="

CategoryDaocategoryDao=newCategoryDaoImpl();

list=categoryDao.findAll();

element=newElement("

list);

cache.put(element);

}else{

//缓存中已经存在数据

缓存中有数据,没有查询数据库====="

list=(List<

)element.getObjectValue();

returnlist;

前台商品信息的显示:

3.1 

首页上最新商品和热门商品的显示:

创建商品表

CREATETABLE`product`(

`pid`varchar(32)NOTNULL,

`pname`varchar(50)DEFAULTNULL,

`market_price`doubleDEFAULTNULL,

`shop_price`doubleDEFAULTNULL,

`pimage`varchar(200)DEFAULTNULL,

`pdate`dateDEFAULTNULL,

`is_hot`int(11)DEFAULTNULL,

`pdesc`varchar(255)DEFAULTNULL,

`pflag`int(11)DEFAULTNULL,

`cid`varchar(32)DEFAULTNULL,

PRIMARYKEY(`pid`),

KEY`sfk_0001`(`cid`),

CONSTRAINT`sfk_0001`FOREIGNKEY(`cid`)REFERENCES`category`(`cid`)

创建相关的类:

在IndexServlet调用业务层完成查询即可:

3.2 

显示某个分类的商品:

在首页上点击某个分类:

传递分类的ID,当前页数.

3.3 

显示某个商品详情:

在商品列表页面上点击【某个商品】

传递一个pid.

3.4 

登录的验证码及自动登录及记住用户:

验证码---session、jq动态绑定

自动登录—--cookie+filter

记住用户名---cookie

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1