监听器
理论来说,就是实现一个监听器的接口。
- 编写一个监听器,实现监听器的接口
- web.xml中注册监听器
- 看情况是否使用
Session销毁
- 手动销毁 getSession().invalidate()
- 自动销毁
过滤器、监听器常见应用
监听器:GUI(图形界面)编程中经常使用
过滤器实现:用户登录之后才能进入主页,用户注销后就不能进入主页了。
- 用户登录之后,向Session中放入用户的数据;
- 进入主页的时候要判断用户是否已经登录(在过滤器中实现)。
JDBC
什么是JDBC:Java连接数据库
需要jar包的支持:
- java.sql
- javax.sql
- mysql-connecter-java...(连接驱动)
JDBC一般步骤:
1.导入数据库依赖,加载驱动
2.连接数据库
3.向数据库发送SQL的对象Statement:CRUD
4.编写SQL语句(根据业务编写)
5.执行查询SQL,返回一个ResultSet(结果集)
受影响的行数
int i = statement.executeUpsate(sql);
6.关闭连接,释放资源(先开的后关)
注意: 为防止SQL注入,添加预编译
JDBC事务
事务:要么都成功,要么都失败! ACID原则:保证数据的安全。
开启事务
事务提交 commit()
事务回滚 rollback()
关闭事务
Junit单元测试
依赖
简单使用
@Test注解只有在方法上有效,只要加了这个注解的方法,就可以直接运行。
事务例子(一定要开启事务)
文件上传
注意事项
- 为保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如放于WEB-INF目录下。
- 为防止文件覆盖的现象发生,要为上传文件产生一个唯一的文件名。
- 要限制上传文件的最大值。
- 可以限制上传文件的类型,在收到上传文件名时,判断后缀名是否合法。
需要用到的类
ServletFileUpload负责处理上传的文件数据,并将表单中每个输入项封装成一个FileItem对象,使用ServletFileUpload对象解析请求时需要DiskFileItemFactory对象。所以,我们需要在解析工作前构造好DiskFileItemFactory对象,通过ServletFileUpload对象的构造方法或setFileItemFactory()方法设置ServletFileUpload对象的fileItemFactory属性。
Java跨平台的原理
步骤
- 创建DiskFileItemFactory对象,处理文件上传路径或者大小限制的;
DiskFileItemFactory factory = getDiskFileItemFactory(file);
- 获取ServletFileUpload
ServletFileUpload upload = getServletFileUpload(factory);
- 处理上传的文件
String msg = uploadParserequest(upload, request, uploadPath);
1.处理文件
2.存放地址
3.文件传输
邮件发送
发送邮件:SMTP协议
接收邮件:POP协议
服务器内部
使用JavaMail发送邮件的5个步骤:
- 创建定义整个应用程序所需的环境信息的Session对象
- 通过session得到transport对象
- 使用邮箱的用户名和授权码连上邮件服务器
- 创建邮件
- 发送邮件
网站--用户体验:多线程实现用户体验(异步处理)