书签 分享 收藏 举报 版权申诉 / 34

类型实时校验Struts.docx

  • 文档编号:3736213
  • 上传时间:2022-11-25
  • 格式:DOCX
  • 页数:34
  • 大小:606.41KB


用户密码:

passwordproperty="userPassWord"/>

submitproperty="submitButton"value="提交"disabled="true"/>

form>

html>

4、再添加JavaScript的函数文件common.js

设置编辑器中的编码方式

编程该common.js文件,其内容如下

varhttpRequest;

functionchkUserName()

{

varrequestURL="/StrutsAJAXWebApp/register.do?

userName="+document.all.userName.value;

httpRequest=getHTTPRequestObject();

httpRequest.onreadystatechange=processHttpResponse;

httpRequest.open("GET",requestURL,true);

httpRequest.send(null);

}

functiongetHTTPRequestObject()

{

varhttpRequestObject;

if(window.XMLHttpRequest)

{//Mozilla,Safari,...

httpRequestObject=newXMLHttpRequest();

}

elseif(window.ActiveXObject)

{//IE

try

{

httpRequestObject=newActiveXObject("Microsoft.XMLHTTP");

}

catch(e)

{

try

{

httpRequestObject=newActiveXObject("Msxml2.XMLHTTP");

}

catch(e2)

{

alert("您的浏览器有问题!

");

}

}

}

returnhttpRequestObject;

}

functionprocessHttpResponse()

{

 if(httpRequest.readyState==4)

{

 if(httpRequest.status==200)

{

   if(httpRequest.responseText!

="")

{//出现错误时

    document.getElementById("showStr").style.display="";

     document.getElementById("userName").style.background="#FF0000";

    document.getElementById("showStr").innerText=httpRequest.responseText;//来自响应的原始数据

document.getElementById("submitButton").disabled=true;

   }

else

{//没有出现错误时

    document.getElementById("userName").style.background="#FFFFFF";

    document.getElementById("showStr").style.display="none";

document.getElementById("submitButton").disabled=false;

   }

  }

elseif(httpRequest.status==404)

{

alert("没有找到与所请求的文件相匹配的资源!

");

}

  else

{

   alert("你所请求的页面发生异常,错误代码为:

"+httpRequest.status);

  }

 }

else

{

document.getElementById("showStr").innerHTML="正在检测用户名称的合法性,请稍等...";

}

}

注意:

中文问题

改变编码

5、添加ActionForm组件

com.px1987.webajax.actionform.RegisterActionForm,registerActionForm,org.apache.struts.action.ActionForm

userPassWord和userName

privateStringuserName;

privateStringuserPassWord;

Stringaction=null;

/*

*GeneratedbyMyEclipseStruts

*Templatepath:

templates/java/JavaClass.vtl

*/

packagecom.px1987.webajax.actionform;

importjavax.servlet.http.HttpServletRequest;

importorg.apache.struts.action.ActionErrors;

importorg.apache.struts.action.ActionForm;

importorg.apache.struts.action.ActionMapping;

/**

*MyEclipseStruts

*Creationdate:

09-21-2007

*

*XDocletdefinition:

*@struts.formname="registerActionForm"

*/

publicclassRegisterActionFormextendsActionForm{

/*

*Generatedfields

*/

/**userNameproperty*/

privateStringuserName;

/**userPassWordproperty*/

privateStringuserPassWord;

Stringaction=null;

/*

*GeneratedMethods

*/

/**

*Methodvalidate

*@parammapping

*@paramrequest

*@returnActionErrors

*/

publicActionErrorsvalidate(ActionMappingmapping,

HttpServletRequestrequest){

//TODOAuto-generatedmethodstub

returnnull;

}

/**

*Methodreset

*@parammapping

*@paramrequest

*/

publicvoidreset(ActionMappingmapping,HttpServletRequestrequest){

//TODOAuto-generatedmethodstub

}

/**

*ReturnstheuserName.

*@returnString

*/

publicStringgetUserName(){

returnuserName;

}

/**

*SettheuserName.

*@paramuserNameTheuserNametoset

*/

publicvoidsetUserName(StringuserName){

this.userName=userName;

}

/**

*ReturnstheuserPassWord.

*@returnString

*/

publicStringgetUserPassWord(){

returnuserPassWord;

}

/**

*SettheuserPassWord.

*@paramuserPassWordTheuserPassWordtoset

*/

publicvoidsetUserPassWord(StringuserPassWord){

this.userPassWord=userPassWord;

}

publicStringgetAction(){

returnaction;

}

publicvoidsetAction(Stringaction){

this.action=action;

}

}

5、添加一个Action以对该表单进行响应和处理

(1)类名称为RegisterAction,包名称为com.px1987.webajax.action

(2)/register

将产生出该Action

(3)编程该Action

packagecom.px1987.webajax.action;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importorg.apache.struts.action.Action;

importorg.apache.struts.action.ActionForm;

importorg.apache.struts.action.ActionForward;

importorg.apache.struts.action.ActionMapping;

importcom.px1987.webajax.actionform.RegisterActionForm;

importjava.io.*;

publicclassRegisterActionextendsAction

{

publicActionForwardexecute(ActionMappingmapping,ActionFormform,

HttpServletRequestrequest,HttpServletResponseresponse)

{

RegisterActionFormregisterActionForm=(RegisterActionForm)form;//TODOAuto-generatedmethodstub

Stringaction=request.getParameter("action");

if(action.equals("1"))

{

doGet(request,response);

}

returnmapping.findForward("registerSuccess");

}

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

{

Stringaction=request.getParameter("action");

if(action.equals("1"))

{

}

StringuserName=request.getParameter("userName");

try

{

userName=newString(userName.getBytes("ISO-8859-1"),"gb2312");

}

catch(UnsupportedEncodingExceptione)

{

//TODO自动生成catch块

e.printStackTrace();

}

StringerrorText=null;

if(userName.equals("yang"))//实际应该改变为查找数据库表来判断有无该用户名存在

{

errorText="对不起,此用户名已经存在,请更换用户名注册!

";

}

else

{

errorText="";

}

response.setContentType("text/html;charset=GBK");

PrintWriterout;

try

{

out=response.getWriter();

out.print(errorText);

out.flush();

}

catch(IOExceptione)

{

//TODO自动生成catch块

e.printStackTrace();

}

}

}

7、添加registerSuccess.jsp

<%@pagelanguage="java"pageEncoding="GB18030"%>

<%@tagliburi="http:

//struts.apache.org/tags-bean"prefix="bean"%>

<%@tagliburi="http:

//struts.apache.org/tags-html"prefix="html"%>

<%@tagliburi="http:

//struts.apache.org/tags-logic"prefix="logic"%>

<%@tagliburi="http:

//struts.apache.org/tags-tiles"prefix="tiles"%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

htmllang="true">

base/>

registerSuccess.jsp

--

-->

您的同步的注册请求被正确地处理了!

html>

8、registerSuccess

6、执行该Web页面

(1)再部署该应用

(2)输入http:

//localhost:

8080/StrutsAJAXWebApp/userRegister.jsp

当我们输入用户名称为:

yang时,将出现下面的错误提示内容。

(3)如果所输入的用户名称不是为“yang”,此时的submit按钮将改变为“可用”的状态。

最后进行提交后则出现下面的正确提交的提示。

改进前面的Web应用以实际访问数据库表来获得验证的目标

1、再在本Project中添加一个数据连接接口组件

(1)数据连接组件的接口ConnectDBInterface,包名称为com.px1987.webajax.dao

(2)编程该接口

packagecom.px1987.webajax.dao;

importjava.sql.*;

publicinterfaceConnectDBInterface

{

publicConnectiongetConnection();

publicvoidcloseDBCon();

}

注意:

通过接口可以隐藏实现类中的细节,同时只向上层曝露公共方法。

2、为上面的接口ConnectDBInterface提供一个实现类

(1)类名称为ConnectDBBean,包名称为com.px1987.webajax.dao

(2)编程该ConnectDBBean类

packagecom.px1987.webajax.dao;

importjava.sql.*;

publicclassConnectDBBeanimplementsConnectDBInterface

{

/*下面为采用JDBC-ODBC桥方式

*/

StringJDBC_ODBC_URL="jdbc:

odbc:

WebStudyDSN";

StringJDBC_ODBC_DBDriver="sun.jdbc.odbc.JdbcOdbcDriver";

/*下面为采用JDBC-JTDS的驱动连接方式

*/

StringJDBC_JTDS_MSSqlServer_DBDriver="net.sourceforge.jtds.jdbc.Driver";

StringJDBC_MSSqlServer_URL="jdbc:

jtds:

sqlserver:

//127.0.0.1:

1433/WebStudyDB";

privatejava.sql.Connectioncon=null;

publicConnectDBBean()

{

JDBC_ODBC_Connect();

}

publicvoidJDBC_ODBC_Connect()

{

try

{

//Class.forName(JDBC_ODBC_DBDriver);

Class.forName(JDBC_JTDS_MSSqlServer_DBDriver);

}

catch(java.lang.ClassNotFoundExceptione)

{//在此先不考虑异常处理

System.out.println("不能正确地加载J

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
实时 校验 Struts
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:实时校验Struts.docx
链接地址:https://www.bdocx.com/doc/3736213.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开