JavaWeb
2021-04-21 15:28:03 17 举报
AI智能生成
java web
作者其他创作
大纲/内容
转发
1.一个项目中的其他servlet
2.转发之后请求对象变了,但是里面的内容没有变化 响应对象也没有变化
3.转发之前不能关闭响应对象
4.转发之后 resp 对象会被清空
5.转发之后 地址栏不会发生变化
6.理论上 转发不限制次数
7.转发是一次请求
重定向
1.重定向为两次请求
2.重定向在客户端完成
3.重定向之后 地址栏会发生变化为重定向的地址
4.可以在不用的服务器中完成
5.重定向可以执行重定向后的代码
四个作用于对象
pageContext
一个页面一个
request
一次请求
session
一次会话
application
一个项目体一个
请求类型
url
统一资源定位符
html
浏览器请求服务器时会向服务器发送数据
doGet /doPost
1.get请求会将请求参数携带在地址栏上,而post请求会将参数携带到实体内容中
2.地址栏携带参数大小有限,参数直接显示不太安全
3.*实体内容中携带参数理论上无限量,参数不会被普通用户看到,略微安全一些
对请求类型的处理
在service方式中使用req.getMethod();获得请求类型,通过if判断
.HttpServlet类中service方法是每次必须调用的方法,根据请求类型去调用自己的doPost和doGet等等方法
*重写doGet或者doPost等等请求
*重写doGet或者doPost等等请求
数据包
相应数据包
请求数据包
servlet生命周期
1.加载servlet
2.创建servlet对象
3.初始化(调用此对象的init方法)(请求第一次到达时)(配置启动优先级可以让servlet在服务器启动时就初始化)牺牲服务器启动时间换取第一次执行时间
4.浏览器发送请求时服务器调用service方法
5.服务器停止时servlet销毁
服务器的目录文件 及其作用
bin目录
可执行文件 包括服务器的启动和终止
conf
配置文件的目录server.xml中主要是配置关于服务器的一些信息,比如说端口号
lib
服务器运行所依赖的包
logs
存放日志文件
temp
用来存放模板
webapps
存放部署的项目
work
用来存放服务器运行时产生的临时文件
浏览器地址
http://服务器的ip:端口号/服务器里部署的项目名/项目内servlet的路径
注解
jstl表达式
遍历 c:foreach
item 遍历的容器
var 遍历结束的对象名
varStatus
一个对象 代表下标
begin
开始的地方
end
结束的地方
step
递进值
EL表达式
${} 用来取值
依次从小到大去取值,直到找到为止就不再继续向下找,如果都找不到,返回空字符串
${emp.empno}
${emp["empno"]}
*第二种方式适用于属性名带_的形式,也可以访问数组
${emp["empno"]}
*第二种方式适用于属性名带_的形式,也可以访问数组
热部署
update resources:修改静态资源文件(不涉及java文件)
update classes and resources:修改java文件以及静态资源文件
redeploy:重新部署,idea会将所有文件重新编译并且重新部署到服务器中
restart server:重启服务器
http协议
超文本传输协议,由w3c制订的一种网络应用层协议定义了浏览器与web服务器之间通信的过程以及通信时所使用的数据格式。
获得请求参数值
1.req.getParament
req.getParameterValues("like")
req.getParameterMap()
servlet线程安全
多个线程访问一个servlet时会出现资源竞争问题
1.避免这样的代码
2.让servlet实现一个接口,让servlet多例,内存肯定会溢出(不允许使用)
3.利用线程的锁机制(不推荐使用,影响性能而且处理不好可能会出现死锁)
cookie禁止的session问题
0 条评论
下一页