我有 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) 我用来分割任意数量的空格的字符串的代码是
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)
任何帮助将不胜感激