Java Web 用户登陆示例代码

实现功能:

1、用户登陆、注销

2、利用session记录用户登陆信息

3、在JSP中展示已登陆用户信息

实现原理:

登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到session中储存;如果不一致就提示信息,并且返回登陆页面。

显示信息页面上固定从session中找用户登陆信息,找到就显示用户信息,没找到就显示登陆框。

注销很简单,就是清空session信息。

主要文件:

1、LoginAction:struts2的Action类,用于处理JAVA端的主要登陆和登出逻辑。

2、login.jsp:用户登陆页面,用户输入用户名和密码,如果登陆失败显示失败信息。

3、page.jsp:登陆成功后显示用户信息。

4、struts.xml:struts的配置文件。



LoginAction:struts2的Action类,用于处理JAVA端的主要登陆和登出逻辑

package luju.me.teach.struts2.login;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.lang.StringUtils;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.Action;

/**
* @author 鲁炬 http://luju.me
*
*/
public class LoginAction {

private String loginname;

private String password;

private String msg;

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

public String getLoginname() {
return loginname;
}

public void setLoginname(String loginname) {
this.loginname = loginname;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

/** 用户登陆 */
public String login() {
if(StringUtils.isBlank(this.loginname)) {
return Action.INPUT;
}
/*
这里写你自己通过用户名查找用户信息的业务逻辑
比如:使用手机号登陆
Citizen user = prmService.queryEGovCitizenByMobile(this.loginname);
....
*/
if(user == null || user.getPwd() == null || !user.getPwd().getValue().equals(this.password)) {
//登陆失败
this.msg = "用户不存在或密码错误!";
return Action.INPUT;
} else {
//登陆成功
//设置session
this.getSession().setAttribute("_USER_INFO_LOGIN_NAME_", this.loginname);
this.getSession().setAttribute("_USER_INFO_USER_ID_", user.getId().getValue());
this.getSession().setAttribute("_USER_INFO_USER_INFO_", user);
//设置cookie
this.getResponse().addCookie(new Cookie("_USER_INFO_LOGIN_NAME_", this.loginname));
this.getResponse().addCookie(new Cookie("_USER_INFO_USER_ID_", user.getId().getValue()));
return Action.SUCCESS;
}
}

/**
* 注销
*/
public String loginout() {
//清空session
this.getSession().invalidate();
return Action.SUCCESS;
}

public HttpSession getSession() {
return ServletActionContext.getRequest().getSession();
}

public HttpServletRequest getRequest() {
return ServletActionContext.getRequest();
}

public HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}

}



struts.xml:struts的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="common" namespace="/common">
<action name="login" class="luju.me.site.common.action.LoginAction"
method="login">
<result name="input">login.jsp</result>
<result name="success" type="redirect">/page.jsp</result>
</action>
<action name="loginout" class="luju.me.site.common.action.LoginAction"
method="loginout">
<result name="success" type="redirect">login.action</result>
</action>
</package>
</struts>



login.jsp:用户登陆页面,用户输入用户名和密码,如果登陆失败显示失败信息。

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>欢迎登录</title>
</head>

<body>
<div id="login">
<span>${msg}</span>
<form name="form1" method="post" action="<c:url value="/common/login.action" />" >
<span>
<label>用户名:</label>
<input name="loginname" id="loginname" type="text" value="admin" />
</span>
<span>
<label>密码:</label>
<input type="password" name="password" id="password" value="123"/>
</span>
<span>
<input type="submit" value="登陆" />
</span>
</form>
</div>
</body>

</html>



page.jsp:登陆成功后显示用户信息。

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
boolean isLogin = false;
String loginName = (String)request.getSession().getAttribute("_USER_INFO_LOGIN_NAME_");
if(loginName != null && !"".equals(loginName)){
isLogin = true;
}
request.setAttribute("isLogin",isLogin);
request.setAttribute("loginName",loginName);
%>
<c:if test="${isLogin}">
你好:${loginName}
  
<a href="<c:url value="/common/loginout.action" />">注销</a>
</c:if>
<c:if test="${!isLogin}">
<form name="login_form" method="post" action="<c:url value="/common/login.action" />" >
<span>
<label>手机号:</label>
<input name="loginname" id="loginname" type="text" value="" />
</span>
<span>
<label>密码:</label>
<input type="password" name="password" id="password" value=""/>
</span>
<span>
<input type="submit" value="登陆" />
</span>
</form>
</c:if>
【MeshLib & VTK】MeshLib PK VTK 本文分享三维几何处理库MeshLib,并将其与VTK进行对比,希望对各位小伙伴有所帮助! 阅读详情

相关推荐

一起玩转GNU Radio:调制解调大合集

本文汇总了GNU Radio中多种常见的调制解调方法及其参考文献链接,便于今后查看,供大家参考!

无线通信实验室 1万+

JAVA实现学生和老师同页面登录

摘要:搭建了一个JAVA WEB开发的项目架子,简单实现了学生和老师同页面登录,暂时未连接数据库;用户名和密码的校验是代码中写死的。连上数据库后就可动态校验。

yue200403的博客 5792

FTViewSE利用VB脚本制作简易日报表

罗克韦尔SE用VB做的简单的报表

z0800656的博客 3023

JAVA登录界面学生和老师_学生信息管理系统之第三篇登录界面java代码

class DLFrame extends JFrame implements ActionListener, ItemListener{// 登录界面JPanel p1 = null;JPanel p2 = null;JPanel p3 = null;JLabel userName = new JLabel("帐号:");JTextField txtUser = new JTextField()...

weixin_35676504的博客 2496

外设高级定时器互补输出带死区控制实验

外设高级定时器互补输出带死区控制实验

ff_juju的博客 1652

CentOS7上装不了最新Chrome?别折腾依赖了,试试这个老版本安装法(附103.0.5060.24 beta下载地址)

本文提供了在CentOS7上安装兼容版Chrome的详细指南,解决了因GLIBC版本限制导致的最新版Chrome无法安装的问题。推荐使用Chrome 103.0.5060.24 beta版本,并附有下载地址和完整安装步骤,包括禁用自动更新和配套工具安装,确保系统稳定性和功能完整性。

weixin_29289821的博客 569

java用户登录代码

模仿用户登录,输入错误3次打印账户锁定 代码 package Test03; import java.util.Scanner; public class T03 { public static void main(String[] args) { //已知账户名和密码,输入两个字符串 String username = "hhh"; String password = "123"; for (int i = 0; i <.

Aisen_bear的博客 4227

信道估计准则演进:从LS、MMSE到LMMSE的工程权衡

本文深入探讨了信道估计准则的演进历程,从LS、MMSE到LMMSE的工程权衡。通过对比分析三大经典算法的数学本质、工程实现及适用场景,揭示了在计算复杂度、实时性和性能之间的关键取舍。文章结合4G/5G基站项目实战经验,提供了算法选型的三维决策模型和前沿发展建议,为无线通信系统设计提供实用指导。

weixin_29327525的博客 282

Java Web实现用户登录功能

登录页面login.jsp,输入用户名和密码后,跳转到登录处理程序LoginServlet进行业务逻辑处理,调用服务层,服务层调用数据访问层(DAO),连接数据库,查询数据库,以此判断是否登录成功。登录成功,跳转到登录成功页面success.jsp,否则跳转到登录失败页面failure.jsp。登录页面login.jsp,输入用户名和密码后,跳转到登录处理页面doLogin.jsp进行业务逻辑处理,登录成功,跳转到登录成功页面success.jsp,否则跳转到登录失败页面failure.jsp。

m0_63887380的博客 8215

FCC 首个扫地机器人豁免落地,Matic 凭什么抢先?

Matic获FCC首个扫地机器人豁免,实为提前布局的合规姿态。其产品在美国组装,并采用已认证射频模组,虽未达65%美国成分门槛,但已具备“本土制造”优势。豁免本质是对既有合规状态的确认,而非解救。此举在商业上放大品牌价值,抢占“安全、合规、本土”叙事高地,凸显供应链安全正取代技术标准成为监管核心。未来合规成本将攀升,规则主导权仍在FCC手中。

致力于lidar应用开发 99

Xilinx差分原语-IBUFGDS与OBUFGDS FPGA

它将差分信号转换为单端信号,并将其输入到FPGA的逻辑片上。它将单端信号转换为差分信号,并将其输出到FPGA的引脚。在FPGA设计中,差分信号是一种常见的信号传输方式,用于提高抗噪性和抑制共模噪声。Xilinx是一家知名的FPGA供应商,提供了许多差分原语,其中包括IBUFGDS和OBUFGDS。通过使用Xilinx的差分原语,如IBUFGDS和OBUFGDS,可以实现差分信号的输入和输出。这些差分原语提供了方便且可靠的接口,使得在FPGA设计中处理差分信号变得更加简单和高效。是差分输入信号的端口,

git_database727的博客 2096

Java 登录代码

首先,这是一个大致的 Java 登录代码示例,你可以根据自己的需求来进行修改。 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public cl...

weixin_35752233的博客 251

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java web登录action_Java Web 用户登陆示例代码

实现功能:1、用户登陆、注销2、利用session记录用户登陆信息3、在JSP中展示已登陆用户信息实现原理:登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到session中储存;如果不一致就提示信息,并且返回登陆页面。显示信息页面上固定从session中找用户登陆信息,找到就显示用户信息,没找到就显示登陆框。注销很简单,就是清空session信息。主要文件:1、LoginAc...

weixin_35399228的博客 550

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Cooke免登陆,jsp版

登录页面代码: <form action="login.jsp" method="post"> 用户名:<input type="text" name="userName"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登陆"><br> </form> 验证页面代码: .

maziaotong的博客 372

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

webapp用户身份认证方案 JSON WEB TOKEN 实现

webapp用户身份认证方案 JSON WEB TOKEN 实现Deme示例,Java版 本项目依赖于下面jar包: nimbus-jose-jwt-4.13.1.jar (一款开源的成熟的JSON WEB TOKEN 解决方法,本仓库的代码是对其的进一步封装) json-smart-2.0-RC2.jar和asm-1.0-RC1.jar (依赖jar包,主要用于JSONObject序列化)...

liao1990的专栏 1292

登陆过滤 Session失效,跳转回login页面

登陆过滤类;public class LoginFilter implements Filter {    private FilterConfig config;    private String logon_page;    private String home_page;        public void destroy() {       config = null;   

doublelucklysnow的专栏 1666

中软实习培训记录五(0724)

中软实习培训记录五(0724)登陆过滤批量删除角色管理 昨日我们完成了一个用户管理系统,包括了用户的登录以及信息的增删改查,今天我们继续在昨日基础上,为整个系统增加登陆拦截,对于非法进入网页的用户进行拦截。除此之外就是在原有的单个用户删除的基础上,增加批量删除。 登陆过滤 1、在UserController的登陆函数部分,引入session,如此一来登陆成功就会存储登录用户的信息: @RequestMapping("/login.do") public ModelAndView login(User

weixin_43938677的博客 272

java mvc思想_java web mvc思想介绍

1、首先简介一下什么是MVC思想。在百度百科里面对MVC的说明,MVC全名是Model View Controller。是模型(model)-视图(view)-控制器(controller)的缩写。那么在JAVA的web开发中。MVC各自是相应于:显示页面(视图)、数据对象(模型)、业务处理(控制器)。简单举个样例来说,在学生信息管理系统里。登陆界面就是一个视图。而登陆完毕后。进行username...

weixin_39693101的博客 238

java过滤器python是啥_java中四种过滤器

java 代码一、使浏览器不缓存页面的过滤器import javax.servlet.*;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/*** 用于的使 Browser 不缓存页面的过滤器*/public class ForceNoCacheFilter implements Filter {pu...

weixin_39648432的博客 149

Jsoup模拟登陆例子

Jsoup模拟登陆小例子,不同的网站,需要不同的模拟策略,散仙在这里仅仅作为一个引导学习。 Java代码 packagecom.jsouplogin; importjava.util.HashMap; importjava.util.List; importjava.util.Map; importorg.jsoup....

weixin_30835933的博客 79

java 实现用户登陆代码_Java Web用户登录实例代码

实现功能:1、用户登陆、注销2、利用session记录用户登陆信息3、在JSP中展示已登陆用户信息实现原理:登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到session中储存;如果不一致就提示信息,并且返回登陆页面。显示信息页面上固定从session中找用户登陆信息,找到就显示用户信息,没找到就显示登陆框。注销很简单,就是清空session信息。主要文件:1、LoginAc...

weixin_42550750的博客 2771

struts2多上传实例代码

struts2多上传实例代码 源代码下载地址:http://www.zuidaima.com/share/1550463682284544.htm

springmvc_springdata的专栏 928

java实现账号登陆界面_java用户登录界面的代码

如何用JAVA编写一个简单用户登陆界面什么都不说了 直接给你代码吧 package com.moliying.ui; import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.List; import java.awt.event.ActionEvent;...

weixin_39542850的博客 4729

Java web 实现简单的登陆注册功能

本文完整代码可在GitHub开源仓库获取(需注明出处),建议新手通过此项目实践理解JavaWeb开发的基本流程和核心技术点。├── com.example.servlet → Servlet类。├── com.example.model → 实体类。├── com.example.util → 工具类。└── register.jsp → 注册页面。├── login.jsp → 登录页面。四、JSP页面示例(login.jsp)├── index.jsp → 首页。八、安全建议(生产环境适用)

2301_80006416的博客 1908

超简单的Web登陆界面跳转

一个request只对应一个jsp中的值 所以有两种方法 跳转网页 1 jsp 标签隔开 但是很乱 2 cookie 服务器跳转 两种机制不一样,代码编程不一样,第一种服务器并没有真正跳转 ...

Leonadoice的博客 1万+

java wed登录面 代码_Java Web用户登录实例代码

实现功能:1、用户登陆、注销2、利用session记录用户登陆信息3、在JSP中展示已登陆用户信息实现原理:登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到session中储存;如果不一致就提示信息,并且返回登陆页面。显示信息页面上固定从session中找用户登陆信息,找到就显示用户信息,没找到就显示登陆框。注销很简单,就是清空session信息。主要文件:1、LoginAc...

weixin_39744512的博客 238
上一篇: Java对数函数及Java对数运算
下一篇: Lucene3.0详解
itfafa
博客等级 码龄15年 3粉丝 90原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值