请求转发和重定向的区别 session 与cookie jsp的el域

请求转发和重定向的区别

地址栏区别:

请求转发地址栏不会发生变化

重定向地址栏会发生变化

实质区别:

请求转发的资源跳转是在我们的服务器内部之间跳转的。

重定向的资源跳转就是在浏览器和服务器之间。

速度:重定向速度比较请求转发慢。

如何选择:如果是希望使请求用域中的数据,可以选择请求转发。如果是对速度的要求比较快的时候可使用请求准发。

刷新有可能导致数据重复提交

什么时候是有重定向:除了以上两种情况外 都可以使用。

 

session

session是什么:就是一个会话,会话:用户打开浏览器发送一系列请求,最后到关闭浏览器的过程。

session的出现是为了解决什么问题:为了解决保持某种状态,访问其他页面之前需要判断有没有登录。做个记录,因为http是无状态的。

http在方送一次请求后浏览器和服务器的链接就断开了。服务器做的一系列事情,浏览器是不知道的,只有最后返回数据浏览器才知道做了什么。

session的出现可以解决无状态的问题。

session是多个servlet共享的。

如果关闭后重新打开,想从应用域中拿数据将,是可以的,但是不能获取session中的数据。

http是无状态的原因

同时间大量的并发请求会让服务器压力过大。

三个域:

应用于 请求域 会话域 请求域<会话域<应用域。

使用频率 :请求域>会话域> 应用域

session生命周期:

session-config>
   <session-timeout>60</session-timeout> 单位分钟
</session-config>

 

Cookie是什么

和session一样保存某种状态的。

Cookie保持在浏览器,浏览器关闭就死了。

还可以保村存在本地,浏览器关闭的时候不会死

参数:如果正数是秒,负数就是默认。0是为了去除同名的cookie

cookie.setMaxAge(60*60);

cookie.setMaxAge(-1);

cookie.setMaxAge(0);

session与cookie对比

存储位置:session在服务器,cookie在浏览器和本地。

存储数据格式:session可以存储任意数据,cookie只可以存字符串。

安全性:session比cookie安全,因为seesion在服务器。

存储个数:cookie存储个数有限制 seesion可以存储更多。

jsp

jsp是什么?

jsp也是servelt,也是一个Java文件

jsp地城有一个翻译引擎,会把我们写的东西翻译出来,通过out.rwite()方式写出来

如何在jsp中写Java代码

<%%> <%!%> <%=%>

1<%%>可以在其中编写Java代码

<%
   相当于写在方法中的 service方法
 List list=new ArrayList();
 list.add(1);
 list.add(2);
 list.add(3);
 list.add("a");
 for (Object i:list){
   System.out.println(i);
}
 //不能有修饰符
 String name;
%>
<%!
   相当于方法外
private  String name;
public  String password;

%>
   
   第三中
   <%=age%>

jsp中的el表达式

el出现的目地:方便我们取出域的数据

格式${}

<%
  Person person=new Person();
  person.setName("hhh");
  person.setAge(17);
  request.setAttribute("person",person);

%>
${person.name}
${person.age}
</body>
</html>
posted @ 2022-07-15 15:48  java小寇  阅读(113)  评论(0)    收藏  举报