请求方式
请求方式 | form | herf | ajax |
---|---|---|---|
能否跳转页面 | 能 | 能 | 否 |
参数 | input等表单元素 | ?a=b&c=d | data属性 |
请求方式 | method=“post/get” | get | type:“post/get” |
一般过程 | jspA-[-servlet…-]-jspB | jspA-[-servlet…-]-jspB | ajaxA==servlet |
返回数据 | 存放在respect域+请求转发 | 存放在request域+请求转发 | response.getWriter()----text/json |
ajax请求在这一次请求中在服务器存入域对象中的数据,不能在当次请求后从网页端获取到。
应用A:验证码校验
1-使用servlet方式展示验证码(session)
2-使用ajax方式校验验证码并提示给用户校验结果(json)
应用B:上传图片
1-使用form方式上传多张图片(request)
2-使用forward方式跳转后展示上传图片(虚拟路径)
web-->servlet-->service-->dao-->sql
实现过程:table-->model-->dao(jdbc)-->web-->servlet-->service
企业员工绩效信息管理系统
员工:id,员工编号,密码,姓名,性别,入职时间,部门主键
,[头像]…
部门:id,报名编号,部门名称,办公电话,[部门人数]…
项目:id,项目编号,项目名称,项目时间…
绩效:id,员工编号
,项目编号
,绩效评分…
MVC设计模式
jsp--servlet--service--dao--sql
目录结构(五级包名):com.公司名.项目名.模块名.层级名
基本开发步骤
DB(table)–>model–>dao(jdbc)–>web(jsp)–>servlet–>service
web(视图层):注册、登录、主界面、子界面(员工/部门/项目/绩效)(增删改查)
servlet(控制层):接收请求+获取参数+封装对象+调用方法(传递参数)+返回结果(或跳转页面)
service(业务逻辑层):3+2+2
dao(数据层):3+2+2+1
JDBCUtil
DML–sql/?/Integer/Int/String
DQL–sql/?/List/field
–基本功能数据逻辑(基本功能业务逻辑)
添加:判断是否允许添加,(逻辑)主键是否重复
删除:判断是否允许删除,根据主键删除记录
修改:根据主键查询需要回显
的记录,主键不可编辑,修改后保存
修改的字段
查询:根据多个条件分页查询显示记录,注意模糊查询
PS:数据关联字段需让用户选择
,而不是输入(显示name/储存code
)
分页
用户点击查询
按钮或操作分页控件
时,都会发送一个全球到Java端获取最新的表格中数据
每次请求,网页端需传递:查询条件
参数与分页条件
参数(分页条件:当前页号
与每页条数
)
每次请求,服务端需返回:查询条件
下获取的总记录条数
与分页条件
下获取的某一页数据记录
分页控件渲染时的count使用的是分页前的记录条数
分页后的记录条数+带有查询条件的并带有limit的查询结果的记录条数(<=10)
分页前的记录条数+带有查询条件的不带有limit的查询结果的记录条数(>=10)
select * from st_company.department limit 0.10; --1
select * from st_company.department limit 10.10; --2
select * from st_company.department limit 20.10; --3
加密耍法
- 单向加密 (明文=>密文) MD5
密码类123456 -> ??? - 双向(对称)加密 – (明文<==>密文) (客户端 / 服务器必须共用相同的密钥)DES
- 通信类(项目信息安全级别)
上传图片
网页端提交请求将文件发送到服务器
服务端解析请求的参数,包含非文件域参数
和文件域参数
文件域参数将以流写入到服务端目标目录下,生成不重名文件(和删除)
文件名保存持久到对应数据库表中,用于网页端虚拟路径
的访问显示