- 浏览: 267794 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (126)
- ejb (3)
- Oracle (31)
- Sql (4)
- MySql (2)
- Jsf (3)
- struts (4)
- hibernate (3)
- spring (1)
- javascript (3)
- ext (17)
- jquery (4)
- dwr (3)
- ajax (2)
- java (19)
- Jboss (1)
- apache (3)
- window (3)
- 心情 (0)
- struts2 (1)
- design pattern (1)
- webshere (1)
- 我的淘宝 (1)
- Learn english (12)
- 项目管理 (2)
- JPA (1)
- Agile PLM (2)
- SQL Server (1)
最新评论
-
chro008:
I'm looking for method to defin ...
POI 设置单元格背景颜色 -
aa00aa00:
看样子不错,用到了easyUI ,呵呵
JSP CMS 管理系统 -
xiaokang1582830:
不错,支持一个...........
数据管理系统 -
gzzjsoft:
jdbc:mysql://localhost:3306/myd ...
Parameter metadata not available for the given statement -
blacklong:
good
POI 设置单元格背景颜色
由于群中很多兄弟要求我给他们一个 与后台交互 的例子
我就做一个 很简单的用户例子
//这个是效果图
失败错误用户名和密码
成功后 正确用户名和密码
实用后台数据 Mysql
/-----创建脚本 --------/
use test;
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`id` int(11) NOT NULL auto_increment,
`loginName` varchar(50) NOT NULL,
`loginPassword` varchar(50) NOT NULL,
`name` varchar(100) default NULL,
`sex` int(11) default NULL,
`address` varchar(100) default NULL,
`email` varchar(30) default NULL,
`phone` varchar(30) default NULL,
`isFlag` int(11) default NULL,
PRIMARY KEY (`id`),
KEY `fk_t_user` (`roleId`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
INSERT INTO `t_user` VALUES (1,'admin','123456','张三 ',1,'上海 ','www.xiaohewoai@163.com','7551713',0);
INSERT INTO `t_user` VALUES (2,'xiaohezhang','123456','小张 ',1,'北京 ','www.xiaohewoai@163.com','7551713',1);
/-------------------实体类--------------/
package com.mylogin.entity;
import java.util.Date;
public class User {
private int id;
private String name;
private String password;
private Date brithday;
public Date getBrithday() {
return brithday;
}
public void setBrithday(Date brithday) {
this.brithday = brithday;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private int sex;
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public String toString() {
return "{id:" + id + "name" + name + "password" + password + "}";
}
}
/----------------------------数据库访问类------/
package com.base;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.Test;
public class ConnectionMySql {
private static ConnectionMySql instrace;
// 创建单例获取连接
public static Connection get_conn() {
if (instrace == null) {
instrace = new ConnectionMySql();
}
return instrace._getConn();
}
// 返回数据库连接
public Connection _getConn() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "root");
} catch (SQLException e) {
System.out.println("获取连接发生异常");
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
System.out.println("加载驱动发生异常");
e.printStackTrace();
}
return conn;
}
@Test
public void testConnection() {
System.out.println(this.get_conn());
}
}
/--------------------后台服务类--------------/
package com.mylogin.service;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.base.ConnectionMySql;
import com.mylogin.entity.User;
/**
* 用户服务类
*
* @author god
*
*/
public class UserService {
// 根据用户密码查询用户
public User getUser(User user) throws SQLException {
String sql = "select * from t_user where loginName=? and loginPassword=?";
PreparedStatement pstm = null;
ResultSet rs = null;
Connection conn = null;
User u = null;
// 获取连接
conn = ConnectionMySql.get_conn();
// 得到preparedStatment对象
pstm = conn.prepareStatement(sql);
pstm.setString(1, user.getName());
pstm.setString(2, user.getPassword());
rs = pstm.executeQuery();
// 如果读到数据 则表示此用户存在
if (rs.next()) {
u = new User();
u.setId(rs.getInt("id"));
u.setName(rs.getString("loginName"));
u.setPassword(rs.getString("loginPassword"));
u.setSex(rs.getInt("sex"));
rs.close();
pstm.close();
conn.close();
return u;
} else {
return u;
}
}
}
/----------------------后台Servlet-----------/
package com.mylogin.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mylogin.entity.User;
import com.mylogin.service.UserService;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
req.setCharacterEncoding("UTF-8");
String pwd = req.getParameter("password");
String name = req.getParameter("name");
User u = new User();
u.setName(name);
u.setPassword(pwd);
UserService us = new UserService();
User user = null;
try {
user = us.getUser(u);
} catch (SQLException e) {
System.out.println("验证用户登陆失败");
e.printStackTrace();
}
PrintWriter out = resp.getWriter();
if (user != null) {
out.println("{success:true,msg:'ok'" + "}");
} else {
out.println("{success:true,msg:'用户名或者密码错误'" + "}");
}
out.flush();
out.close();
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}
}
/------------------web.xml 配置-----------/
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>myextlogin</display-name>
<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>
<!-- 配置用户登陆servlet -->
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.mylogin.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login.do</url-pattern>
</servlet-mapping>
</web-app>
/---------前台JS---------------/
Ext.onReady(function() {
// alert("ok");
var myform = new Ext.form.FormPanel({
// absolute
baseCls : 'x-plain',
layout : "form",
id : "myform",
// title : "人员信息",
frame : true,
defaultType : 'textfield',
defaults : {
width : 200
},
items : [{
fieldLabel : "用户名",
name : "name",
emptyText : "请输入用户 ",
allowBlank : false,
selectFocus : true
}, {
fieldLabel : "密码",
allowBlank : false,
name : "password",
inputType : "password"
}]
});
var win = new Ext.Window({
title : "<center>用户登陆</center>",
width : 500,
height : 400,
items : [myform],
closeAction : "hide",
buttonAlign : "center",
buttons : [{
text : "提交",
type : "submit",
handler : function() {
// 如果通过验证
if (myform.form.isValid()) {
// 自己做一个 进度条
Ext.MessageBox.show({
// 等待标题
title : "请等待正在登陆",
// 允许进度条
progress : true,
// 设置宽度
width : 300
});
// 设置进度条 次数
var f = function(v) {
// 返回进度条 状态
return function() {
// 到了11 隐藏
if (v == 12) {
Ext.MessageBox.hide();
} else {
var i = v / 11;
Ext.MessageBox.updateProgress(
i, Math.round(100 * i)
+ '%提交');
}
};
};
// 循环
for (var i = 0; i < 13; i++) {
// 定时器
setTimeout(f(i), i * 500);
}
myform.form.doAction('submit', {
// 提交路径 我配置的一个Servlet
url : "login.do",
// 等待消息标题
// waitTitle : "等待中",
// 提交方式 分为POST 和GET
method : "POST",
// 等待消息信息
// waitMsg : "正在提交请稍后......",
// 成功之后
success : function(form, action) {
// alert('aaa');
if (action.result.msg == 'ok') {
// 我要 进入首页 可是我没有画 自己搞定
Ext.Msg.alert("首页提示", "哈哈进来吧");
} else {
alert(action.result.msg);
}
}
// 失败
});
}
}
}, {
text : "重置",
handler : function() {
var one = Ext.getCmp('myform');
one.getForm().reset();
}
}]
});
win.show();
});
/---------------------前台HTML------------------/
<!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>
<link rel="stylesheet" type="text/css"
href="js/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="mycss/tree.css" />
<script type="text/javascript" src="js/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="js/ext-all.js"></script>
<script type="text/javascript" src="js/adapter/ext/ext-lang-zh_CN.js"></script>
<script type="text/javascript" src="gridPanel/forums.js"></script>
</head>
<body>
</body>
</html>
//-------------------本人不提供 EXTJS 文件自己去下载 ------/
我就做一个 很简单的用户例子
//这个是效果图
失败错误用户名和密码
成功后 正确用户名和密码
实用后台数据 Mysql
/-----创建脚本 --------/
use test;
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`id` int(11) NOT NULL auto_increment,
`loginName` varchar(50) NOT NULL,
`loginPassword` varchar(50) NOT NULL,
`name` varchar(100) default NULL,
`sex` int(11) default NULL,
`address` varchar(100) default NULL,
`email` varchar(30) default NULL,
`phone` varchar(30) default NULL,
`isFlag` int(11) default NULL,
PRIMARY KEY (`id`),
KEY `fk_t_user` (`roleId`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
INSERT INTO `t_user` VALUES (1,'admin','123456','张三 ',1,'上海 ','www.xiaohewoai@163.com','7551713',0);
INSERT INTO `t_user` VALUES (2,'xiaohezhang','123456','小张 ',1,'北京 ','www.xiaohewoai@163.com','7551713',1);
/-------------------实体类--------------/
package com.mylogin.entity;
import java.util.Date;
public class User {
private int id;
private String name;
private String password;
private Date brithday;
public Date getBrithday() {
return brithday;
}
public void setBrithday(Date brithday) {
this.brithday = brithday;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private int sex;
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public String toString() {
return "{id:" + id + "name" + name + "password" + password + "}";
}
}
/----------------------------数据库访问类------/
package com.base;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.Test;
public class ConnectionMySql {
private static ConnectionMySql instrace;
// 创建单例获取连接
public static Connection get_conn() {
if (instrace == null) {
instrace = new ConnectionMySql();
}
return instrace._getConn();
}
// 返回数据库连接
public Connection _getConn() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "root");
} catch (SQLException e) {
System.out.println("获取连接发生异常");
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
System.out.println("加载驱动发生异常");
e.printStackTrace();
}
return conn;
}
@Test
public void testConnection() {
System.out.println(this.get_conn());
}
}
/--------------------后台服务类--------------/
package com.mylogin.service;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.base.ConnectionMySql;
import com.mylogin.entity.User;
/**
* 用户服务类
*
* @author god
*
*/
public class UserService {
// 根据用户密码查询用户
public User getUser(User user) throws SQLException {
String sql = "select * from t_user where loginName=? and loginPassword=?";
PreparedStatement pstm = null;
ResultSet rs = null;
Connection conn = null;
User u = null;
// 获取连接
conn = ConnectionMySql.get_conn();
// 得到preparedStatment对象
pstm = conn.prepareStatement(sql);
pstm.setString(1, user.getName());
pstm.setString(2, user.getPassword());
rs = pstm.executeQuery();
// 如果读到数据 则表示此用户存在
if (rs.next()) {
u = new User();
u.setId(rs.getInt("id"));
u.setName(rs.getString("loginName"));
u.setPassword(rs.getString("loginPassword"));
u.setSex(rs.getInt("sex"));
rs.close();
pstm.close();
conn.close();
return u;
} else {
return u;
}
}
}
/----------------------后台Servlet-----------/
package com.mylogin.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mylogin.entity.User;
import com.mylogin.service.UserService;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
req.setCharacterEncoding("UTF-8");
String pwd = req.getParameter("password");
String name = req.getParameter("name");
User u = new User();
u.setName(name);
u.setPassword(pwd);
UserService us = new UserService();
User user = null;
try {
user = us.getUser(u);
} catch (SQLException e) {
System.out.println("验证用户登陆失败");
e.printStackTrace();
}
PrintWriter out = resp.getWriter();
if (user != null) {
out.println("{success:true,msg:'ok'" + "}");
} else {
out.println("{success:true,msg:'用户名或者密码错误'" + "}");
}
out.flush();
out.close();
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}
}
/------------------web.xml 配置-----------/
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>myextlogin</display-name>
<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>
<!-- 配置用户登陆servlet -->
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.mylogin.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login.do</url-pattern>
</servlet-mapping>
</web-app>
/---------前台JS---------------/
Ext.onReady(function() {
// alert("ok");
var myform = new Ext.form.FormPanel({
// absolute
baseCls : 'x-plain',
layout : "form",
id : "myform",
// title : "人员信息",
frame : true,
defaultType : 'textfield',
defaults : {
width : 200
},
items : [{
fieldLabel : "用户名",
name : "name",
emptyText : "请输入用户 ",
allowBlank : false,
selectFocus : true
}, {
fieldLabel : "密码",
allowBlank : false,
name : "password",
inputType : "password"
}]
});
var win = new Ext.Window({
title : "<center>用户登陆</center>",
width : 500,
height : 400,
items : [myform],
closeAction : "hide",
buttonAlign : "center",
buttons : [{
text : "提交",
type : "submit",
handler : function() {
// 如果通过验证
if (myform.form.isValid()) {
// 自己做一个 进度条
Ext.MessageBox.show({
// 等待标题
title : "请等待正在登陆",
// 允许进度条
progress : true,
// 设置宽度
width : 300
});
// 设置进度条 次数
var f = function(v) {
// 返回进度条 状态
return function() {
// 到了11 隐藏
if (v == 12) {
Ext.MessageBox.hide();
} else {
var i = v / 11;
Ext.MessageBox.updateProgress(
i, Math.round(100 * i)
+ '%提交');
}
};
};
// 循环
for (var i = 0; i < 13; i++) {
// 定时器
setTimeout(f(i), i * 500);
}
myform.form.doAction('submit', {
// 提交路径 我配置的一个Servlet
url : "login.do",
// 等待消息标题
// waitTitle : "等待中",
// 提交方式 分为POST 和GET
method : "POST",
// 等待消息信息
// waitMsg : "正在提交请稍后......",
// 成功之后
success : function(form, action) {
// alert('aaa');
if (action.result.msg == 'ok') {
// 我要 进入首页 可是我没有画 自己搞定
Ext.Msg.alert("首页提示", "哈哈进来吧");
} else {
alert(action.result.msg);
}
}
// 失败
});
}
}
}, {
text : "重置",
handler : function() {
var one = Ext.getCmp('myform');
one.getForm().reset();
}
}]
});
win.show();
});
/---------------------前台HTML------------------/
<!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>
<link rel="stylesheet" type="text/css"
href="js/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="mycss/tree.css" />
<script type="text/javascript" src="js/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="js/ext-all.js"></script>
<script type="text/javascript" src="js/adapter/ext/ext-lang-zh_CN.js"></script>
<script type="text/javascript" src="gridPanel/forums.js"></script>
</head>
<body>
</body>
</html>
//-------------------本人不提供 EXTJS 文件自己去下载 ------/
发表评论
-
Ext this.addEvents is not a function
2012-12-10 17:53 956这个错误是由于一个控件使用new this. ... -
ext动态表单
2012-11-22 21:55 2066为了减少异步加载的次数,于是想做一个动态表单全部由后台生成好的 ... -
一个Ext 2.1 和3.2Combox 渲染TreePanel 的BUG修复
2010-10-14 17:05 1269前端时间使用Ext2.1做开发没有 做一个 Combox 渲染 ... -
editorGridPanel 一些bug
2010-05-05 17:56 16071.首先 当我们的列多的时候 在靠近滚动条的可编辑组件 双击 ... -
ext oop
2010-04-13 23:24 992javascript 创建一个构 ... -
ext editGridPanel 动态头和数据
2010-04-06 22:41 1298很久没有写技术文章了 杯具.... 最近一段时间 没有心思去 ... -
ext grid 动态实用使用视频
2010-01-08 18:31 971视频下载地址 http://code.google.com/ ... -
ext 组件分类
2009-09-04 13:07 1480组件大致可以分成三大类,即基本组件、工具栏组件、表单及元素组件 ... -
Ext 面试
2009-07-26 08:46 1870EXTJS 面试会问些什么 如果是我面试别人的话 ... -
gridPanel 增删改查 带SQL语句
2009-06-19 20:33 1236gridPanel 增删改查 给大家分享 -
extjs gridPanel动态 源代码
2009-06-17 13:25 2325extjs gridPanel动态 源代码 extjs gri ... -
gridPanel的简单应用
2009-06-15 12:16 734今天教大家如何 用EXTJS gridPanel 显示数据 ... -
ext 动态树型的实现
2009-06-13 00:44 5157前段时间 很多问我EXTJS动态树型该如何实现 我就下 ... -
表格数据选择
2009-05-16 09:55 12401) 表格数据选择 行选择模式: Js代码 var row ... -
extjs做的一个登陆
2009-05-15 22:08 1480Ext.onReady(function() { Ext.Q ... -
extJS store 方法介绍 以及EXT中文帮助下载
2009-05-14 22:29 1564store是一个为Ext器件提供record对象的存储容器,行 ...
相关推荐
extjs上方动态导航栏extjs上方动态导航栏extjs上方动态导航栏
extjs实现动态树
csdn里有个兄弟类似的东西要10分,而且收录的不全,这个代码本是一个外国朋友的然后国人加了些修改,这里把两个版本同时献上
extjs实现动态树加载菜单
Extjs动态Grid的生成 htm
extjs动态添加tabpanel标签页支持pannel嵌入 逻辑代码在 MyWindow.js里面直接调用 方法 就可以
可以动态的新增和删除Ext控件,这里支持的上传控件的新增和删除。
extjs动态生成表格,前台+后台extjs动态生成表格,前台+后台extjs动态生成表格,前台+后台extjs动态生成表格,前台+后台extjs动态生成表格,前台+后台extjs动态生成表格,前台+后台
C# Extjs 登陆框、框架 特效不错。注释很全面
extjs4动态添加表头字段、删除、增加记录!
ExtJS 实现动态处理加载 grid 实现了CRUD还有分页功能
Extjs动态菜单可添加子项和编辑子项,拖动保存、dwr实现存储数据。
AJAX: 以JSON数据格式,使用ExtJS构造动态异步加载的树。
用ExtJS实现动态载入树.包含数据库背景、具体代码、以及图片解释
Extjs4动态树实现,感觉写的比较好就分享给大家
在 gridPanel中动态生成带按钮及查询条件的工具栏
NULL 博文链接:https://fxiaozj.iteye.com/blog/1174901
基于EXTjs 的 动态复选框树 json数据交互
Extjs4.2 动态加载项目(权限模块),直接下载下来即可使用,数据可自动生成。
extjs动态表头,当初做项目急需,没有解决问题,偶尔在一个论坛中发现了 ,好东西大家分享。