session(整理)

1.什么是session?

当用户打开浏览器访问某个网站时,服务器就会在服务器的内存中为该浏览器分配一个空间,用唯一的session id进行区别不同的浏览器,该空间会被浏览器独占

这个空间就是session空间,该空间的数据默认存在时间是30分钟,也可以修改session的有效时间

2.session的用途

session可以用作购物车,可以通过session实现客户端的非法登录

还可以把一些数据放到session中,供同一用户在不同的页面使用

session的属性包括2部分,一个是属性名(String类型),一个是属性值(Object类型)

3.创建session

HttpSession hs=HttpServletRequest.getSession(true);

4.向session中添加属性

hs.setAttribute(String name,Object val)

5.从session中得到属性

String name=hs.getAttribute(name)

6.从session中删除某个属性

hs.removeAttribute(name)

删除session中的一个属性及该属性的值

使用removeAttribute(“属性名”)

删除session中的所有属性及所有属性对应的的值

及删除session本身,只要把session的有效时间设置为0

setMaxInactiveInterval(0)

 

此处单位为 分钟,此处设置对tomcat/webapps下的 

所有web应用都有效

b.如果只是想对tomcat/webapps下的某个web应用设定一个 特别的有效期,那么只需在web应用的web.xml中修改下面的代码 c.在程序中修改session的有效时间

<session-config>

   <session-timeout>设定值</ session-timeout >

</ session-config >

 

//1.获取session

HttpSession hs= req.getSession(true);

//修改session的有效时间,单位是

hs.setMaxInactiveInterval(20);

示例程序:

package com.tsinghua;

import javax.servlet.http.*;
import java.io.*;

public class Login extends HttpServlet{
   public void doPost(HttpServletRequest    req,HttpServletResponse res){
   try{
//当向浏览器返回东西时,要解决中文乱码时,使用
  res.setContentType("text/html;charset=gbk");
   PrintWriter pw=res.getWriter();
   pw.println("<html>");
   pw.println("<body>");
   pw.println("<h1>登录界面</h1>");
   pw.println("<form action=LoginCL method=post>");
   pw.println("用户名:<input type=text  name=username><br>");
   pw.println("密码:<input type=password name=pw><br>");
   pw.println("<input type=submit value=登录>");
   pw.println("</form>");
   pw.println("</body>");
   pw.println("</html>");
  }catch(Exception e){
    e.printStackTrace();
  }
 }
 public void doGet(HttpServletRequest req,HttpServletResponse res){
   this.doPost(req,res);
 }
}

**************************

package com.tsinghua;

import javax.servlet.http.*;

import java.io.*;

public class LoginCL extends HttpServlet{
  public void doPost(HttpServletRequest req,HttpServletResponse res){
  try{
    String username=req.getParameter("username");
    String password=req.getParameter("pw");
    if(username.equals("dongaiqin")&&password.equals ("dongaiqin")){
    //将验证成功的信息写入session
    //1.从HttpServletRequest对象中获取HttpSession对象
    HttpSession hs= req.getSession(true);
    //修改session的有效时间,单位是 秒
    hs.setMaxInactiveInterval(20);
    //2.写入信息
    hs.setAttribute("username",username);
    hs.setAttribute("password",password);
    res.sendRedirect("Welcom?UserName=" + username+"&PassWord="+password);
    }else{
     res.sendRedirect("Login");
    //res.sendRedirect("Login");中参数是该servlet的访问时用的url
    }
   }catch(Exception e){
    e.printStackTrace();
   }
 }
 public void doGet(HttpServletRequest req,HttpServletResponse res){
  this.doPost(req,res);
 }
}

************************

package com.tsinghua;

import javax.servlet.http.*;

import java.io.*;

public class Welcom extends HttpServlet{

public void doPost

(HttpServletRequest req,HttpServletResponse res){

     //1.获取session

     HttpSession hs= req.getSession(true);

    String passw=(String) hs.getAttribute("password");

      if(passw==null){

          try{

          res.sendRedirect("Login");

          }catch(Exception e){

             e.printStackTrace();

          }

        }

   //LoginCL获取传递过来的用户名

   String uname=req.getParameter("UserName");

   //LoginCL1获取传递过来的密码

 String upassword=req.getParameter("PassWord");

         try{

          PrintWriter pw=res.getWriter();

          pw.println("Hello"+ uname+",

    welcom to servlet!");

          pw.println("Your password is "+upassword);        }catch(Exception e){

          e.printStackTrace();

       }

   }

 public void doGet(HttpServletRequestreq,HttpServletResponse res){

   this.doPost(req,res);

 }

}

数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究(Matlab代码实现)内容概要:本文围绕“数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究”展开,提出了一种结合数据驱动与分布鲁棒优化方法的建模框架,用于解决电热综合能源系统在不确定性环境下的优化调度问题。研究采用两阶段优化结构,第一阶段进行预决策,第二阶段根据实际场景进行调整,通过引入1-范数和∞-范数约束来构建不确定集,有效刻画风电、负荷等不确定性变量的波动特性,提升模型的鲁棒性和实用性。文中提供了完整的Matlab代码实现,便于读者复现和验证算法性能,并结合具体案例分析了不同约束条件下系统运行的经济性与可靠性。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及工程技术人员,尤其适合从事综合能源系统、鲁棒优化、不确定性建模等相关领域研究的专业人士。; 使用场景及目标:①掌握数据驱动的分布鲁棒优化方法在综合能源系统中的应用;②理解1-范数和∞-范数在构建不确定集中的作用与差异;③学习两阶段鲁棒优化模型的建模思路与Matlab实现技巧,用于科研复现、论文写作或工程项目建模。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现细节,重点关注不确定集构建、两阶段模型结构设计及求解器调用方式,同时可尝试更换数据或调整约束参数以加深对模型鲁棒性的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值