博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaWeb个人笔记(自用,持续更新)
阅读量:3957 次
发布时间:2019-05-24

本文共 2023 字,大约阅读时间需要 6 分钟。

4、JDBC编程六步(需要背会)

第一步:注册驱动(作用:告诉Java程序,即将要连接的是哪个品牌的数据库)
第二步:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭通道。)
第三步:获取数据库操作对象(专门执行sql语句的对象)
第四步:执行SQL语句(DQL DML…)
第五步:处理查询结果集(只有当第四步执行的是select语句的时候,才有这第五步处理查询结果集。)
第六步:释放资源(使用完资源之后一定要关闭资源。Java和数据库属于进程间的通信,开启之后一定要关闭。)

两者区别:

①getParameter()获取的是客户端设置的数据。
getAttribute()获取的是服务器设置的数据。
②getParameter()永远返回字符串
getAttribute()返回值是任意类型

既然parameter和attribute都是传递参数,为什么不直接使用parameter呢?

①服务器端不能通过setParameter(key, value)来添加参数,因为没有这个函数
所以如果需要在服务器端进行跳转,并需要想下个页面发送新的参数时,则没法实现。但是Attribute可以,可以通过setAttribute(),将值放入到request对象,然后在其他页面使用getAttribute获取对应的值,这样就达到一次请求可以在多个页面共享一些对象信息
②parameter返回值是字符串,意味着不能传递其他的对象,如Map,List,但是attribute则可以存放任意类型的Java对象

request.getRequestDispatcher()是请求转发,前后页面共享一个request ;

response.sendRedirect()是重新定向,前后页面不是一个request。

使用泛型可以不用进行类型转换 T

一般在实际项目开发中,都是使用继承 HttpServlet 类的方式去实现 Servlet 程序。

1、编写一个类去继承 HttpServlet 类
2、根据业务需要重写 doGet 或 doPost 方法
3、到 web.xml 中的配置 Servlet 程序的访问地址

重写init方法里面一定要调用父类的init操作。

/ 斜杠 如果被浏览器解析,得到的地址是:http://ip:port/

/ 斜杠 如果被服务器解析,得到的地址是:http://ip:port/工程路径

字符集设置要在读取之前(跑掉一个也不行)。

解决get 请求的中文乱码问题

String username = req.getParameter(“username”);
//1 先以 iso8859-1 进行编码
//2 再以 utf-8 进行解码
username = new String(username.getBytes(“iso-8859-1”), “UTF-8”);

// 设置请求体的字符集为 UTF-8,从而解决 post 请求的中文乱码问题

req.setCharacterEncoding(“UTF-8”);

//解决响应中文乱码

resp.setContentType(“text/html; charset=UTF-8”);

URLEncoder 解决 IE 和谷歌浏览器的 附件中 文名问题。 如果客户端浏览器是 IE 浏览器 或者 是谷歌浏览器。

我们需要使用 URLEncoder 类先对中文名进行 UTF-8 的编码 操作。
因为 IE 浏览器和谷歌浏览器收到含有编码后的字符串后会以 UTF-8 字符集进行解码显示。
// 把中文名进行 UTF-8 编码操作。
String str = “attachment; fileName=” + URLEncoder.encode(“中文.jpg”, “UTF-8”);
// 然后把编码后的字符串设置到响应头中
response.setHeader(“Content-Disposition”, str);

statement适合执行静态sql PreparedStatement适合执行动态sql

字节流 getOutputStream(); 常用于下载(传递二进制数据)

字符流 getWriter(); 常用于回传字符串(常用)
两个流同时只能使用一个。 使用了字节流,就不能再使用字符流,反之亦然,否则就会报错

转发和重定向的区别

转发只能在项目内部进行 而重定向还可以跳转到项目外部页面。
转发是一次请求,重定向是两次请求。
转发地址栏的请求路径不会变,而重定向地址栏会变。

session和cookie的区别

有什么作用
记录用户状态(数据)
session 将数据绑定在服务端,由session绑定的数据,可以实现数据共享
cookie 将数据保存在客户端(浏览器)

转载地址:http://syozi.baihongyu.com/

你可能感兴趣的文章
The Most Widely Used Java Libraries
查看>>
简单在单机使用apache-james(开源邮件服务器)
查看>>
lsof 快速起步
查看>>
使用ScribeFire方便地发布blog
查看>>
跨平台Java程序注意事项
查看>>
Python字符与数字的相互转换
查看>>
C 指针解读
查看>>
有关乱码的处理---中国程序员永远无法避免的话题
查看>>
JSP的运行内幕
查看>>
python超简单的web服务器
查看>>
代理模式、静态代理、动态代理、aop
查看>>
Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00
查看>>
大型Web2.0站点构建技术初探
查看>>
机器学习算法汇总:人工神经网络、深度学习及其它
查看>>
解决Spring中AOP不能切入Struts的DispatchAction方法的问题
查看>>
出国以后才知道英语应该怎么学
查看>>
计算机专业权威期刊投稿经验总结
查看>>
如何在三个月内学会一门外语?
查看>>
看看你对Linux到底了解多少?
查看>>
网上看到的:ARM入门最好的文章(转)
查看>>