码迷,mamicode.com
首页 > 数据库 > 详细

struts2校验器验证表单避免无效sql查询

时间:2016-05-27 13:00:00      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

一般网页登陆,最简单的来说是用户名和密码,但是用户可能没有按照正确的格式去输入从而会触发sql查询,但是这类查询会大大加重网站负担。为了避免这类问题,我们可以使用struts2校验器完成我们想要的结果。


我们假设有这样的表单:

用户名:<s:textfield name="loginName" cssClass="msg"></s:textfield>
密 码:<s:password name="loginPwd" cssClass="msg"></s:password>

现在我们需要设置校验配置,一般在开发中这类配置和登陆模块的action拦截器放一个包下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
  		"-//Apache Struts//XWork Validator 1.0.3//EN"
  		"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<!-- 默认返回input -->
<validators>
	<!-- 1 登录用户 -->
	<field name="loginName">
		<!-- 1.1 必填 -->
		<field-validator type="requiredstring">
			<message>登录用户名不能为空</message>
		</field-validator>
		<!-- 1.2 长度-->
		<field-validator type="stringlength">
			<param name="maxLength">14</param>
			<param name="minLength">2</param>
			<message>登录用户名必须在${minLength}-${maxLength}字符之间</message>
		</field-validator>
	</field>
	<!-- 登录密码 -->
	<!-- 1 登录用户 -->
	<field name="loginPwd">
		<!-- 1.1 必填 -->
		<field-validator type="requiredstring">
			<message>登录密码不能为空</message>
		</field-validator>
		<!-- 1.2 长度-->
		<field-validator type="stringlength">
			<param name="maxLength">16</param>
			<param name="minLength">4</param>
			<message>登录密码必须在${minLength}-${maxLength}字符之间</message>
		</field-validator>
	</field>
</validators>


当然如果你就这样结束的话,还是有问题的,来看下问题所在。

把开发者模式给开启

<!--  开发模式 --><constant name="struts.devMode" value="true"></constant>

Struts Problem Report

Struts has detected an unhandled exception:

Messages:	
No result defined for action com.canyugan.crm.staff.web.action.StaffAction and result input
Stacktraces

No result defined for action com.canyugan.crm.staff.web.action.StaffAction and result input

什么意思?action中没有定义返回为input的类型结果。所以我们还需要在当前struts的配置文件里添上一句:

<result name="input">/WEB-INF/pages/login.jsp</result>

这里我把转向的页面设置成了登陆页面。


这样我们算是完成了配置,刷新网页输入非法数据,校验器会开启工作,并且服务器看不到hibernate查询语句。


struts2校验器验证表单避免无效sql查询

标签:

原文地址:http://blog.csdn.net/u012881836/article/details/51483027

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!