java web开发中 session传值(自定义对象)
在进行java web开发时经常会遇到各种页面、页面和后端之间传值的问题,并且,有时传值需要传自定义对象。
以下,我将以登录信息为例,向大家讲解:
1.登录页面 login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录</title>
</head>
<body>
<div class="login">
<form action="后台对应servlet" method="post">
<input type="text" name="username" placeholder="" required="required" autocomplete="off" />
<input type="password" name="password" placeholder="密码" required="required" />
<button type="submit">登录</button>
</form>
</div>
</div>
</body>
</html>
2.在后端servlet中,自定义对象,并将其放入session
User user=new User();
request.getSession().setAttribute("user",user);
response.sendRedirect("主页.jsp");
3.跳转至主页后,在主页对session中的对象进行接收
可以接收对象中的任意字段,下图为 接收user中user属性和pwd属性
${sessionScope.user.user}
${sessionScope.user.pwd}
如果在其他servlet接收该对象
User user = (User)request.getsession().getattribute("user");//取得用户对象
user.user//分别获得其属性
user.pwd
注意:在使用过程中,我曾遇到一些问题,例如:前端页面无法获取session值,寻找诸多办法后,我发现
调试时,重启浏览器、更换其他浏览器,会有一些效果。