FlexContext.getFlexSession()在servlet的doPost方法中不能用的问题解决

本文介绍了在使用FlexContext.getFlexSession()方法时遇到的问题及解决办法。当此方法返回null时,可以通过HttpServletRequest的getSession方法来获取用户信息。

我的经验告诉我,FlexContext.getFlexSession()在servlet的doPost方法中得到的值是null,也就是说我们在servlet中无法通过FlexContext.getFlexSession()来获得session中的attribute值。

 

比如说在用户登录的时候记录下用户的信息FlexContext.getFlexSession().setAttribute("user", vo);,在flex调用的servlet需要用到session值应该怎么办呢?可以这样获得:

public void doPost(HttpServletRequest req, HttpServletResponse res)
   throws ServletException, IOException {
  String basePath = super.getServletContext().getRealPath("");
  res.setContentType("text/html; charset=UTF-8");
  String currentTimeMillis = String.valueOf(System.currentTimeMillis());
  // 获得当前用户id
  UsersVO uservo =(UsersVO) req.getSession().getAttribute("user");
  String userId=uservo.getUserid();

。。。。。。

}

 

 

在生成的`MyServlet.java`文件中,添加`doPost`方法通常包括以下几个步骤: 1. 首先,在`MyServlet`类声明处,确保它继承自`HttpServlet`,因为`doPost`方法是在`HttpServlet`类中定义的。示例: ```java import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class MyServlet extends HttpServlet { ``` 2. 接下来,在类中找到合适的区域(通常是`protected void doPost(HttpServletRequest request, HttpServletResponse response)`这样的形式),并开始编写方法。这通常包括接收请求、解析数据、执行相应的业务逻辑以及向客户端返回响应。例如: ```java protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 从request中获取数据 String data = request.getParameter("your_param"); // 假设参数名为"your_param" // 执行业务逻辑,如保存到数据库或计算等 // ... // 设置响应头和编码 response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); // 将结果写入response(这里是简单的字符串例子) String responseBody = "Data received: " + data; ServletUtils.write(response.getOutputStream(), responseBody); } ``` 3. `ServletUtils.write()`是一个辅助方法,用于将字符串写入响应输出流。在实际项目中,可能会使用更复杂的数据结构(如JSON对象)作为响应。 4. 最后别忘了处理可能出现的异常,比如如果读取请求参数失败,或者在执行业务逻辑时发生错误,记得捕获并处理异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值