java session 用户登录 模板_JavaWeb_(session和application)用户登录注册模板_进阶版

用户登录注册模板_基础版  传送门

用户登录注册模板进阶版

添加了获得获得当前登录用户信息及存储登录人数

用户登录后,在首页、注册页、登录页显示登录用户信息和存储登录人数信息

73c122ab528f0021e3e655e758c5f180.gif

目录结构

0262217113c79e9653a3c46752a02fd4.png

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Insert title here

Objecto=session.getAttribute("user");if(o!=null){

User user=(User)o;

out.println("当前登录用户:"+user.getUsername()+"
");

}%>

Objecto2=application.getAttribute("userNumber");if(o2!=null){

out.println("当前登录用户"+o2+"个
");

}%>

登录

注册

index.jsp

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Insert title here

Objecto=session.getAttribute("user");if(o!=null){

User user=(User)o;

out.println("当前登录用户:"+user.getUsername()+"
");

}%>

Objectmsg=request.getAttribute("message");if(msg!=null)

out.println(msg);%>登录


用户名:
密码 :

login.jsp

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Insert title here

Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");

User user=DBUtil.verifyAccount(username,password);if(user==null){//out.println("登录失败,用户名或密码错误");

request.setAttribute("message","登录失败,用户名或密码错误");

request.getRequestDispatcher("login.jsp").forward(request,response);

}else{//out.println("登录成功");intnumber= 0;//第一次登录用户时if不瞒住,number=0

if(application.getAttribute("userNumber")!=null){

number=(Integer)application.getAttribute("userNumber");

}//登录过一个用户后在原基础number上进行++number++;

application.setAttribute("userNumber",number);//通过seesion的setAttribute传递数据

session.setAttribute("user", user);//登录请求的转发,将数据传递给personCenter.jsp页面

request.getRequestDispatcher("personCenter.jsp").forward(request,response);

}%>

login_do.jsp

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Insert title here

Objecto=session.getAttribute("user");if(o!=null){

User user=(User)o;

out.println("当前登录用户:"+user.getUsername()+"
");

}%>

Objectmsg=request.getAttribute("message");if(msg!=null)

out.println(msg);%>

用户名:
密码:
年龄:
性别:男女

register.jsp

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Insert title here

Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");intage= Integer.parseInt(request.getParameter("age"));Stringsex=request.getParameter("sex");booleanisSuccess=DBUtil.addUser(username,password,age,sex);//使用请求转发if(isSuccess){

request.setAttribute("message","注册成功,请登录");//通过getRequestDispatcher传递路径将请求转发给login.jsp

request.getRequestDispatcher("login.jsp").forward(request,response);

}else{

request.setAttribute("message","注册失败,用户名重复");//通过getRequestDispatcher传递路径将请求转发给login.jsp

request.getRequestDispatcher("register.jsp").forward(request,response);

}// if(isSuccess){//out.println(username);//out.println("注册成功");//}else{//out.println(username);//out.println("注册失败");//}%>

register_do.jsp

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Insert title here

//通过session的getAttribute进行访问

User user=(User)session.getAttribute("user");%>用户名:
年龄:
性别:

personCenter.jsp

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

packagecom.Gary.model;public classUser {privateString username;privateString password;private intage;privateString sex;public User(String username, String password, intage, String sex) {super();this.username =username;this.password =password;this.age =age;this.sex =sex;

}publicString getUsername() {returnusername;

}public voidsetUsername(String username) {this.username =username;

}publicString getPassword() {returnpassword;

}public voidsetPassword(String password) {this.password =password;

}public intgetAge() {returnage;

}public void setAge(intage) {this.age =age;

}publicString getSex() {returnsex;

}public voidsetSex(String sex) {this.sex =sex;

}

}

User.java

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

packagecom.Gary.util;importjava.util.HashMap;importjava.util.Map;importcom.Gary.model.User;public classDBUtil {private static Mapdb = new HashMap();public static boolean addUser(String username,String password,intage,String sex) {//TODO

if(db.containsKey(username)) {return false;

}else{

User user=newUser(username,password,age,sex);

db.put(username, user);return true;

}

}//账号校验

public staticUser verifyAccount(String username,String password) {if(db.containsKey(username)) {

User user=db.get(username);if(user.getPassword().equals(password)) {returnuser;

}else{return null;

}

}return null;

}

}

DBUtil.java

获得当前用户登录

注册时通过session的setAttribute传递数据

Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");

User user=DBUtil.verifyAccount(username,password);if(user==null){//out.println("登录失败,用户名或密码错误");

request.setAttribute("message","登录失败,用户名或密码错误");

request.getRequestDispatcher("login.jsp").forward(request,response);

}else{//out.println("登录成功");//通过seesion的setAttribute传递数据

session.setAttribute("user", user);//登录请求的转发,将数据传递给personCenter.jsp页面

request.getRequestDispatcher("personCenter.jsp").forward(request,response);

}%>

personCenter中通过Session对存储user键值进行访问

//通过session的getAttribute进行访问

User user=(User)session.getAttribute("user");%>

index.jsp、login.jsp、register.jsp中添加session会话获得当前登录用户

Objecto=session.getAttribute("user");if(o!=null){

User user=(User)o;

out.println("当前登录用户:"+user.getUsername()+"
");

}%>

存储登录人数

当用户web启动的时候会创建application内置对象,当用户关闭web时销毁application内置对象

application存放的数据通常是所有客户端所共享的数据

当用户注册时,login_do.jsp中定义一个number变量用来存储登录人数,每次有用户进行登录时,使number数量+1

Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");

User user=DBUtil.verifyAccount(username,password);if(user==null){//out.println("登录失败,用户名或密码错误");

request.setAttribute("message","登录失败,用户名或密码错误");

request.getRequestDispatcher("login.jsp").forward(request,response);

}else{//out.println("登录成功");intnumber= 0;//第一次登录用户时if不瞒住,number=0

if(application.getAttribute("userNumber")!=null){

number=(Integer)application.getAttribute("userNumber");

}//登录过一个用户后在原基础number上进行++number++;

application.setAttribute("userNumber",number);//通过seesion的setAttribute传递数据

session.setAttribute("user", user);//登录请求的转发,将数据传递给personCenter.jsp页面

request.getRequestDispatcher("personCenter.jsp").forward(request,response);

}%>

在index.jsp中添加application应用

Objecto2=application.getAttribute("userNumber");if(o2!=null){

out.println("当前登录用户"+o2+"个
");

}%>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值