小编zam*_*eer的帖子

如何使 spring mvc 中的会话无效以实现注销功能

我有 spring MVC 应用程序,我已经实现了注销功能,但它不起作用。当用户登录时,我通过设置属性在会话内将用户登录详细信息维护为 bean“UserDTO”,当用户单击注销超链接时,然后在注销功能内,我通过获取会话使会话无效请求范围。这是代码。

  @RequestMapping(value="/SignOut",method = RequestMethod.GET) 
    public String signOut(HttpServletRequest request){
           HttpSession session=request.getSession(); 
 System.out.println("session id before invalidating it:"+session.getId());
          UserDTO userDTO=(UserDTO)session.getAttribute("UserDTO");
          System.out.println("userDTO obje"+userDTO.getFirst_name());
          session.removeAttribute("UserDTO");   
    session.invalidate(); 
System.out.println("session id after invalidating session is:"+session.getId()); 
}
Run Code Online (Sandbox Code Playgroud)

在使会话会话 ID 无效之前,我得到相同的会话 ID :8E8AE156B9AE963C9C2E9BCB0B9B13DB 会话无效后会话 ID 是:8E8AE156B9AE963C9C2E9BCB0B9B13DB

Feb 09, 2016 1:02:45 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'userDTO' available as request attribute
    at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141)
    at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:179)
    at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:199)
    at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:165)
    at …
Run Code Online (Sandbox Code Playgroud)

java session spring-mvc

5
推荐指数
1
解决办法
1万
查看次数

如何用空格分割字符串并在结果中包含空格作为元素?多个空格分割

我用来分割任意数量的空格的字符串的代码是

String out="SELECT * FROM EMP WHERE EMPID=10";
String array[] = out.split("\\s+");
Run Code Online (Sandbox Code Playgroud)

我希望将"out"字符串中的空格包含到array []对象中,同时使用空格分割.我想要的输出是:

array[]={"SELECT","[WHITE SPACE]","*","[WHITE SPACE]","FROM","[WHITE SPACE]","EMP","[WHITE SPACE]","WHERE","[WHITE SPACE]","EMPID=10"}
Run Code Online (Sandbox Code Playgroud)

但我得到的输出是:

 array[]={"SELECT","*","FROM","EMP","WHERE","EMPID=10"}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激

java regex string string-split

3
推荐指数
1
解决办法
141
查看次数

标签 统计

java ×2

regex ×1

session ×1

spring-mvc ×1

string ×1

string-split ×1