首页 > 其他分享 >struts2 验证

struts2 验证

时间:2023-04-26 19:36:29浏览次数:33  
标签:username String 验证 log4j struts2 message password public


工程如图:

struts2 验证_html


Java代码:

package com.struts2.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {

	private static final long serialVersionUID = 1L;
	
	private String username;
	
	private String password;
	
	private String message;
	
	@Override
	public String execute() throws Exception {
		if ("scott".equals(username) && "tiger".equals(password)) {
			setMessage("login succeed");
			return SUCCESS;
		} else {
			setMessage("login failed");
			return ERROR;
		}
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

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

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

}



LoginAction-validation.xml:


<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator 1.0.2//EN"
        "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

<validators>
	<field name="username">
		<field-validator type="requiredstring">
			<message key="requiredstring" />
		</field-validator>
	</field>
	<field name="password">
		<field-validator type="requiredstring">
			<message key="requiredstring" />
		</field-validator>
	</field>
</validators>



struts.xml:


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

	<package name="default" namespace="/" extends="struts-default">
		<action name="login" class="com.struts2.action.LoginAction">
			<result name="input">login.jsp</result>
			<result name="success">success.jsp</result>
			<result name="error">error.jsp</result>
		</action>
	</package>

</struts>



package.properties:


HelloWorld.message= Struts is up and running ...
requiredstring = ${getText(fieldName)} is required.
password = Password
username = User Name
Missing.message =  This feature is under construction. Please try again in the next interation.



log4j.properties:


#
# Log4J Settings for log4j 1.2.x (via jakarta-commons-logging)
#
# The five logging levels used by Log are (in order):
#
#   1. DEBUG (the least serious)
#   2. INFO
#   3. WARN
#   4. ERROR
#   5. FATAL (the most serious)


# Set root logger level to WARN and append to stdout
log4j.rootLogger=stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n

# Print only messages of level ERROR or above in the package noModule.
log4j.logger.noModule=FATAL

log4j.logger.com.opensymphony.xwork2=DEBUG
log4j.logger.org.apache.struts2=DEBUG



web.xml:


<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

	<display-name>Struts Blank</display-name>

	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>

</web-app>



login.jsp:


<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<s:form action="login">
		<s:textfield key="username" label="username" />
		<s:password key="password" label="password" />
		<s:submit />
	</s:form>
</body>
</html>



在xwork-core的jar包里,有个文件,在com.opensymphony.xwork2.validator.validators里,default.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator Definition 1.0//EN"
        "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd">

<!-- START SNIPPET: validators-default -->
<validators>
    <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
    <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
    <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
    <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
    <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
    <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
</validators>
<!--  END SNIPPET: validators-default -->



上面就是一些校验器。

标签:username,String,验证,log4j,struts2,message,password,public
From: https://blog.51cto.com/u_1002776/6228661

相关文章

  • react点击滑块验证
     css.wrap-num{width:300px;}@keyframesdefaultWave{0%{transform:scale(1);}20%{transform:scale(1.23);}40%{transform:scale(1);}100%{transform:scale(1);}}//旋转@keyframesloadingWave{0%{......
  • Struts2总结
    Struts2总结[code]一、Struts2概述Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。一、MVC简介Struts2是一个兼容Struts1和WebWork的MVC框架,既然......
  • 精通struts2的ognl表达式
    精通struts2的ognl表达式[code]Struts2中内置了OGNL表达式的支持,使得Struts2的具有比Struts1更为强大的数据访问的功能。本文主要讲解OGNL的使用方法,并不会去讲解一些原理性的东西,想要了解的朋友可以自己去查阅相关的资料在OGNL的使用主要分以下部分来......
  • 面向车载通信的TSN网络原型下篇:效果验证
    前言  在上一篇文章中,我们概述性地介绍了北汇信息的面向车载通信的TSN网络原型上篇:原型概述。本篇文章将基于该原型,通过在多个场景中验证TSN协议的效果,向读者展示TSN在车载网络中的价值。通过实验验证,我们将深入了解TSN技术在车载网络中的实际应用和性能表现,为读者提供更为深......
  • 基于Haar分类和五官验证的人脸识别
    访问【WRITE-BUG数字空间】_[内附完整源码和文档]AdaBoost算法是1995年提出的一种快速人脸检测算法,是人脸检测领域里程碑式的进步,这种算法根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高。摘要:人脸检测是人脸分析的首要环节,其处理......
  • P.10-准备工作、P.11-数据库校验用户准备工作、P.12-数据库验证用户核心代码实现
    P.10-准备工作1.添加依赖<!--redis依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>......
  • 表单验证
      ......
  • token的创建和验证
    创建tokenpublicclassJWTUtil{privatestaticfinallongEXPIRE_TIME=3*60*1000;//默认3分钟//私钥privatestaticfinalStringTOKEN_SECRET="privateKey";publicstaticStringcreateToken(UserEntityuserMode......
  • 安装VMware tools报Windows无法验证此驱动程序软件的发布者
    问题如下图,如果选择始终安装此驱动程序软件还是无法成功安装 后来发现是虚拟机少了KB4474419补丁,下载这个补丁的镜像文件,将我们下载好的光驱插入到虚拟机中 打开虚拟机,双击打开计算机,打开插入的光驱,找到共享文件夹下的这个补丁包,双击安装进行更新,成功后重启。重启成功进行......
  • springboot集成JWT token验证
    登录模式基于session登录基于session的登录(有回话状态),用户携带账号密码发送请求向服务器,服务器进行判断,成功后将用户信息放入session,用户发送请求判断session中是否有用户信息,有的话放行,没有的话进行拦截,但是考虑到时App产品,牵扯到要判断用户的session,需要sessionID,还要根据sess......