黑马程序员技术交流社区

标题: 【郑州校区】JavaWeb10-HTML篇笔记(二) [打印本页]

作者: 谷粒姐姐    时间: 2018-5-23 11:02
标题: 【郑州校区】JavaWeb10-HTML篇笔记(二)
1.1 案例二:网站的注册的功能的实现:1.1.1 需求:
在商城的网站上完成一个注册的功能:
1.1.2 分析:1.1.2.1 技术分析
【请求对象-request对象】
Ø 获得客户机信息:
[AppleScript] 纯文本查看 复制代码
* getMethod();        ---获得请求方式.
* getQueryString();        ---获得请求路径后的参数.
* getRemoteAddr();        ---获得客户机的IP地址.
* getRequestURI();        ---获得请求的路径
* getRequestURL();        ---获得请求的路径
* getContextPath();        ---获得工程名
Ø 获得请求头
[AppleScript] 纯文本查看 复制代码
* request.getHeader(“User-Agent”);
* request.getHeader(“Referer”);
Ø 请求参数:
Ø 用来作为域对象存取值:
1.1.2.2 步骤分析:
Ø 步骤一:设计注册页面:
Ø 步骤二:点击页面中的注册的按钮:提交到Servlet中.
Ø 步骤三:在Servlet中接收参数:
Ø 步骤四:封装实体中.
Ø 步骤五:调用业务层.处理数据.
Ø 步骤六:根据处理的结果做出响应.
1.1.3 代码实现:
[AppleScript] 纯文本查看 复制代码
1.创建数据库
create database web10;
use web10;
create table user(
id int primary key auto_increment,
username varchar(20),
password varchar(20),
email varchar(20),
name varchar(20),
sex varchar(10),
birthday date,
hobby varchar(50)
);
2.接收参数:
[AppleScript] 纯文本查看 复制代码
* request.getParameter(String name);
* request.getParameterValues(String name);
* request.getParamaterMap();
3.参数接收中的乱码处理.
[AppleScript] 纯文本查看 复制代码
POST乱码处理:
* <form method=”post”>的时候,这种提交才是POST提交.其他的都是get.
* POST方式提交的参数在请求体中.request对象在后台接收参数.request对象有缓存区.默认缓冲区的编码ISO-8859-1.
* 处理方式:设置request的缓冲区的编码.
    * request.setCharacterEncoding(“UTF-8”);

GET方式乱码处理:
* GET方式提交的参数会在地址栏上显示 在请求行的路径后面.浏览器就会对路径进行一次编码.将编码后内容取出来.再进行一次编码.
* 处理方式:
     * 修改服务器提交的编码.
     * 采用URLEncoder 和 URLDecoder类对中文进行编码和解码.
     * 使用String类的构造方法:
         username = new String(username.getBytes("ISO-8859-1"),"UTF-8");
System.out.println(username);
4.数据的封装:BeanUtils.(内省技术)
1.1.4 总结:1.1.4.1 转发和重定向的区别:
【重定向】
response.sendRedirect(String path); -- 完成重定向
【转发】
request.getRequestDispatcher(String path).forward(request,response);
【区别】
1.转发的地址栏不变的.重定向的地址栏发生变化的.
2.转发是一次请求一次响应,重定向是两次请求两次响应.
3.request域对象存取的值在转发中是有效的,在重定向无效的.
4.转发的路径不需要加工程名.重定向的路径需要加工程名.
1.1.4.2 使用转发和重定向对登录的功能优化:
使用request域保存一个值:在一次请求范围内有效的.
登录失败就可以保存一个错误信息到request中在动态页面中取出这个值${msg}
JavaWeb01-HTML篇笔记(一)
JavaWeb01-HTML篇笔记(二)
JavaWeb01-HTML篇笔记(三)
JavaWeb01-HTML篇笔记(四)
JavaWeb01-HTML篇笔记(五)
JavaWeb02-HTML篇笔记(一)
JavaWeb02-HTML篇笔记(二)
JavaWeb02-HTML篇笔记(三)
JavaWeb03-HTML篇笔记(一)
JavaWeb03-HTML篇笔记(二)
JavaWeb03-HTML篇笔记(三)
JavaWeb03-HTML篇笔记(四)
JavaWeb03-HTML篇笔记(五)
JavaWeb03-HTML篇笔记(六)
JavaWeb03-HTML篇笔记(七)
JavaWeb04-HTML篇笔记(一)
JavaWeb04-HTML篇笔记(二)
JavaWeb04-HTML篇笔记(三)
JavaWeb04-HTML篇笔记(四)
JavaWeb04-HTML篇笔记(五)
JavaWeb05-HTML篇笔记(一)
JavaWeb05-HTML篇笔记(二)
JavaWeb05-HTML篇笔记(三)
JavaWeb06-HTML篇笔记(一)
JavaWeb06-HTML篇笔记(二)
JavaWeb07-HTML篇笔记(一)
JavaWeb07-HTML篇笔记(二)
JavaWeb07-HTML篇笔记(三)
JavaWeb08-HTML篇笔记(一)
JavaWeb08-HTML篇笔记(二)
JavaWeb09-HTML篇笔记(一)
JavaWeb09-HTML篇笔记(二)
JavaWeb09-HTML篇笔记(三)
JavaWeb09-HTML篇笔记(四)
JavaWeb10-HTML篇笔记(一)






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2