跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分.docx

上传人:b****5 文档编号:5243818 上传时间:2022-12-14 格式:DOCX 页数:15 大小:250.80KB
下载 相关 举报
跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分.docx_第1页
第1页 / 共15页
跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分.docx_第2页
第2页 / 共15页
跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分.docx_第3页
第3页 / 共15页
跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分.docx_第4页
第4页 / 共15页
跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分.docx

《跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分.docx》由会员分享,可在线阅读,更多相关《跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分.docx(15页珍藏版)》请在冰豆网上搜索。

跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分.docx

跟我学AJAX技术如何应用AJAX实现实时校验的Web应用示例第三部分

1.1跟我学AJAX技术——如何应用AJAX实现实时校验的Web应用示例(第三部分)

1.1.1添加项目中的表示层相关的页面组件

1、添加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>

2、registerSuccess

1.1.2测试本示例的应用效果

1、再部署该应用

2、输入http:

//localhost:

8080/StrutsAJAXWebApp/userRegister.jsp

当我们输入用户名称为:

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

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

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

1.1.3实际访问数据库表来获得验证的目标

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("不能正确地加载JDBC驱动程序");

}

try{

//con=DriverManager.getConnection(JDBC_ODBC_URL,"sa","1234");

con=DriverManager.getConnection(JDBC_MSSqlServer_URL,"sa","1234");

}

catch(java.sql.SQLExceptione){

System.out.println("不能正确地连接数据库并且出现SQLException");

}

catch(NullPointerExceptione){

System.out.println("不能正确地连接数据库并且出现NullPointerException");

}

}

publicConnectiongetConnection(){

if(con==null){

System.out.println("在ConnectDBBean类中的getConnection方法中con对象为空");

}

returnthis.con;

}

publicvoidcloseDBCon(){

try{

con.close();

}

catch(SQLExceptione){

System.out.println("不能正确地关闭数据库连接");

}

}

}

3、为本示例提供一个DAO接口组件

(1)添加一个接口OperateDBInterface,包名称为com.px1987.webajax.dao;

(2)编程该接口

packagecom.px1987.webajax.dao;

importjava.sql.*;

publicinterfaceOperateDBInterface{

//实际应该再提供其它的DAO方法

publicResultSetSelectDBData(Stringselect_SqlStatement);

publicvoidcloseDBCon();

}

4、再添加上面的接口OperateDBInterface的实现类

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

(2)编程该DAO组件

packagecom.px1987.webajax.dao;

importjava.sql.*;

publicclassOperateDBBeanimplementsOperateDBInterface{

privatejava.sql.Connectioncon=null;

ConnectDBInterfaceconnectDBBean=null;

publicOperateDBBean(){

connectDBBean=newConnectDBBean();

con=connectDBBean.getConnection();

}

publicvoidcloseDBCon()

{

connectDBBean.closeDBCon();

}

publicResultSetSelectDBData(Stringselect_SqlStatement)

{

ResultSetrs=null;

try

{

java.sql.PreparedStatementpstmt=

con.prepareStatement(select_SqlStatement,

ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

rs=pstmt.executeQuery();

}

catch(SQLExceptione)

{

System.out.println("在查询数据库表时出现错误!

");

}

returnrs;

}

}

1.1.4构建本示例相关的数据库表

1、创建数据库表userInfo

在该表中至少包含userName和userPassWord两个字段,如下为数据库表userInfo的创建结果。

2、SQL脚本如下

CREATETABLE[dbo].[userInfo](

[userName][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,

[userPassWord][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,

[userDepartment][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,

[userAdminLevel][int]NULL,

[departAdminLevel][int]NULL,

[userImage][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,

[registerTime][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,

[id][int]NOTNULL

)ON[PRIMARY]

3、为该数据库建立一个ODBCDSN名称,名称为WebStudyDSN(也可以采用直接连接)

1.1.5修改RegisterServlet中的doGet方法功能实现代码

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.*;

importcom.px1987.webajax.dao.OperateDBBean;

importcom.px1987.webajax.dao.OperateDBInterface;

importjava.sql.*;

publicclassRegisterActionextendsAction{

publicActionForwardexecute(ActionMappingmapping,ActionFormform,

HttpServletRequestrequest,HttpServletResponseresponse){

RegisterActionFormregisterActionForm=(RegisterActionForm)form;

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();

}

StringselectSQL="select*fromUserInfowhere

userName='"+userName+"'";

OperateDBInterfaceoperateDBBeanID=newOperateDBBean();

java.sql.ResultSetrs=operateDBBeanID.SelectDBData(selectSQL);

booleanokOrNot=false;

try

{

if(rs.next())

{

okOrNot=true;

}

else

{

okOrNot=false;

}

}

catch(java.sql.SQLExceptione)

{

e.printStackTrace();

System.out.println("异常内容为:

"+e.getMessage());

}

finally

{

operateDBBeanID.closeDBCon();

}

StringerrorText=null;

if(okOrNot){

//现在已经改变为查找数据库表来判断有无该用户名存在

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

";

}

else{

errorText="";

}

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

PrintWriterout;

try

{

out=response.getWriter();

out.print(errorText);

out.flush();

}

catch(IOExceptione)

{

e.printStackTrace();

}

}

}

1.1.6测试本示例的最终应用效果

1、如果采用JTDS的SQLServer2000的JDBC驱动,则还要添加驱动程序

2、再执行该页面以测试是否正确地对数据库表访问

http:

//127.0.0.1:

8080/StrutsAJAXWebApp/userRegister.jsp

(1)输入用户名称为:

yang,由于在数据库表有此用户名称,将出现下面的错误提示

(2)输入用户名称为:

admin,由于在数据库表有此用户名称,将出现下面的错误提示

(3)而输入其它的用户名称时,则可以正常地往下操作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

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