Extjs和servlet的登陆数据库处理

   弄了一晚上终于弄清楚了Extjs和数据库的交互方法,写下作为备忘,其实Extjs和数据库的交互主要有两种方法一种是通过ajax,另外一种是表单方式进行交互,我采用的是ajax方式。

一.前台主要代码

 ajax请求:

//数据库连接及处理         Ext.Ajax.request({             url: "login.action", //登录处理页面             method:'post',             params:{ ParamUserName: userName, ParamPassword: Password},//传过去的参数,其中userName和Password为控件名             success: function(response, option) {             var obj = Ext.util.JSON.decode(response.responseText); //decode将json字符串转换成对象;(对应的是encode将对象转换成json字符串)               if (obj.success == true) {                     window.location.href = 'index.jsp';                 }                 else {                     Ext.Msg.alert("登录失败", "用户名或密码错误!");                 }             },             failure: function() {                 Ext.Msg.alert("登录失败", "登录失败!");             }         });

    } }


2.servlet的处理,主要为Post方式

/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("GBK");
		String actionUrl=request.getServletPath();
		if(actionUrl.equals("/login.action")){
		String username=request.getParameter("ParamUserName");
		String password=request.getParameter("ParamPassword");
		try {
			DaoBean ud=new DaoBean();
			try {
				
				if(ud.getUser(username, password).next()){
					//用户名和密码真确,则进行数据返回
					response.setContentType("text/json;utf-8");
					response.getWriter().write("{success:true}");//返回成功标示
				}else{
					
				}
			} catch (SQLException e) {
				
				e.printStackTrace();
			}
		} catch (ClassNotFoundException e) {
			
			e.printStackTrace();
		}
		}
		
	}


3.DaoBean数据库连接的类方法

public class DaoBean {
		java.sql.Connection conn=null;
		java.sql.Statement statement=null;
		ResultSet rs=null;
		//用于连接数据库
		public DaoBean() throws ClassNotFoundException {
			String driver = "com.mysql.jdbc.Driver"; // 驱动程序名
			String url = "jdbc:mysql://localhost/extjsproject"; // URL指向要访问的数据库名
			String user = "root"; // MySQL配置时的用户名
			String password = "123456"; // MySQL配置时的密码
			try {
				Class.forName(driver);
				conn = DriverManager.getConnection(url, user, password);
				statement = conn.createStatement();
			} catch (SQLException e) {
				e.printStackTrace();
			}

		}
		@SuppressWarnings("unchecked")
		public ResultSet getUser(String username,String password) throws SQLException{
			String sqllogin="select * from LoginUser where UserName='"+username+"' and Pwd='"+password+"'";
			rs=statement.executeQuery(sqllogin);
			return rs;
		}
		


 

 

 

 

 

 

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值