有了前面做够的准备,我们现在可以来做登入了。
首先打开我们的login.js,在登入按钮事件那里写上
function login()
{
//用户登入方法---表单提交
if(formPanel.form.isValid()){
Ext.MessageBox.show({
title:"请等待",
msg:"正在加载",
progressText:"",
width:300,
progress:true,
closable:false,
animEl:'loding'
});
var f = function(v){
return function(){
var i = v/11;
Ext.MessageBox.updateProgress(i,'');
}
}
for(var i = 1; i < 13; i++){
setTimeout(f(i),i *150);
}
//提交到服务器操作
formPanel.form.doAction("submit",{
url:"Login.action",
method:"post",
success:function(form,action){
//登入成功
Ext.Msg.alert('登入成功',action.result.message);
},
failure:function(form, action){
Ext.Msg.alert('登录失败',action.result.message);
}
});
}
}
此时前台表单已经提交了,提交的地址是Login.action,我们这是配置structs.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="extjs4" extends="json-default" namespace="/">
<!-- 编写Action -->
<action name="Login" class="login.Action" method="validate_login">
<result type="json"></result>
</action>
</package>
</struts>
说明:
action name="Login":和表单提交的url一样
class="login.Action":处理表单的类
method="validate_login":类里面具体处理表单的方法
<result type="json">:返回json类型给前台
看到这里,现在我们自然要去编写login.Action类了
具体代码:
package login;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.opensymphony.xwork2.ActionSupport;
public class Action extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
final String pjName = moduleName();//获取ejb调用名
public String username;//与表单的 账号同名,通过get方法获取
public String password;//与表单的 密码同名,通过get方法获取
public String message;//返回给前台的信息
public boolean success;//登入结果,true为登入成功
public String moduleName(){
//ejb:/projectName
return "ejb:/"+"Person"+"/";
}
public InitialContext getContext() throws NamingException{
Hashtable<String, String> p = new Hashtable<String, String>();
p.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
InitialContext ctx;
ctx = new InitialContext(p);
return ctx;
}
/**
* ejb接口获取
* @return
*/
public ManageBeanRemote remote(){
ManageBeanRemote remote = null;
try {
remote = (ManageBeanRemote) getContext().lookup(pjName+"ManageBean!login.ManageBeanRemote");
} catch (NamingException e) {
e.printStackTrace();
}
return remote;
}
/**
*
* 登入验证。。。structs用get和set方法获取账号密码
* @return
*/
public String validate_login()
{
System.out.println("username: "+username+" Password:"+password);
List<Manage>ok=new ArrayList<Manage>();
ok=remote().getqualificationParts(username,password);//调用ejb方法
if(ok.size()>0)
{
message="登入成功";
success=true;
}
else
{
message="账号或密码错误";
success=false;
}
return SUCCESS;
}
/*省略username,password,success,message的get和set方法,记得一定要写啊,不然不能获取前台数据和数据返回。我们只需要调用get和set就行了。具体的获取和返回structs2帮我我封装好了*/
}
说明:
return SUCCESS:
public static final java.lang.String SUCCESS = "success";
public static final java.lang.String NONE = "none";
public static final java.lang.String ERROR = "error";
public static final java.lang.String INPUT = "input";
public static final java.lang.String LOGIN = "login";
可以再structs.xml进行相应响应
如:
<package name="com.jvortex.j2eeblog.struts" namespace="/" extends="struts-default">
<action name="checkLogin" class="managerAction" method="checkLogin">
<result name="success">/success.jsp</result>
<result name="input">/index.jsp</result>
</action>
</package>
就可以根据返回的类型跳转不一样的页面
上面的ejb调用没做详细介绍了,详情请参考
http://hm4123660.iteye.com/admin/blogs/2038789
这里的return当为上面的值时,会返回所以定义的参数。
如果我们返回List<Manager>lists时,就return "lists";
完成上面这些,我们的登入也就完成了,试试结果:
我们的账号密码是admin,admin
好的我们的登入基本完成了。
我们可以查看火狐,看看前后台的数据是怎样的
相关推荐
通过系统上述功能实现宿舍管理部门对于学生宿舍信息的日常管理,即方便宿舍管理人员及时全面地掌握学生住宿情况及宿舍分配情况;为用户(管理用户和一般用户,如学生)提供了一些简单的数据查询并输出各种信息等;在...
该功能的操作角色是教务处工作实践科的工作人员,教务处工作实践科的工作人员登入系统后可以进行项目立项审核信息的查询操作,对立项信息进行审核操作等 (5)项目审核结题信息管理: 该功能的操作角色是教务处工作...
本文实现的巡更系统是一种安防系统,为巡逻人员和管理人员提供巡逻监管和检查能力的平台。本系统目的于满足管理人员制定计划并监督巡逻,方便巡逻人员查看计划且统计巡逻结果,并且能在需要时提供记录证据。 巡更...
1、登入用户管理模块:实现用户登录和用户权限管理分配。 2、公告信息管理模块:实现对公告信息加入数据库,对公告信息进行查询、添加、删除、修改等操作。 3、人员信息管理模块:实现对人员信息的查询、添加、删除...
8.再次登入管理界面,进入wlan设置,把SSID的名称设置好;同时“信道”也是要用手动选择一条不能用自动,这里我们选择“6”;其他不要改了。如果懂的话自己改吧! 9.打开http://192.168.1.1/wlsecurity.html 无线...
9.工作模式设置 单机版本和网络版本合二为一, 购买一套在一台电脑上运行就是单机版本,购买多套在多台电脑运行,简单的设置一下就可以实现数据共享,联成网络版本 10.用户权限设置 设置成不同用户、不同权限登入软件...
1、登入用户管理模块:实现用户登录和用户权限管理分配。 2、公告信息管理模块:实现对公告信息加入数据库,对公告信息进行查询、添加、删除、修改等操作。 3、人员信息管理模块:实现对人员信息的查询、添加、删除...
1、登入用户管理模块:实现用户登录和用户权限管理分配。 2、公告信息管理模块:实现对公告信息加入数据库,对公告信息进行查询、添加、删除、修改等操作。 3、人员信息管理模块:实现对人员信息的查询、添加、删除...
学校的学生信息管理人员以及老师和学生 2总体功能描述 本系统利用Java Web技术实现了学生信息管理系统,具有简单的学生信息管理功能。 实现了以下功能模块: 院系信息管理模块,学生信息管理模块,课程信息管理模块...
(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。 (3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行...
注册短信验证功能 √ 输入手机号后3-5秒内受到短信验证,输入验证码即可注册成功 手机、邮箱、用户名登录 √ 可根据您的需要进行用户名、邮箱、手机登录 第三方登录功能 √ 支持QQ、微信、新浪微博登录 第三登录...
基于JavaEE小区物业管理系统,项目采用MVC模式结合SSM框架进行实现,前端页面使用Bootstrap进行实现。 功能 用户端 (1)业主信息查询 (2)房产信息查询 (3)公告查询管理 (4)收费管理 (5)报修管理 (6)修改用户密码 ...
(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。 (3)安全与保密要求:用户都必须通过账号、密码才能进入系统。 (4)环境要求:支持Windows系列、...
北京选择软件公司张昀整理。 从整个单点登陆的方案着手,讲述了单点登陆的服务器构成、涉及到的技术、如何实现单点登陆。适合对单点登陆没多少概念的人员。
(1)用户管理模块:实现对登入用户的用户名、密码的修改功能以及对药店销售人员管理。 (2)统计查询模块:实现了库存查询、销售记录的查询、查询利润现金。 (3)销售管理模块:实现了药品销售、销售结算功能。 ...
(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。 (3)安全与保密要求:用户都必须通过账号、密码才能进入系统。 (4)环境要求:支持Windows系列、...
1.3未能实现资源有效共享 目前,高校计算机管理系统尚未实现资源有效共享,很多高校信息平台尚未完善,实验 室管理人员、教师、学生们未能通过平台获取更多信息,而且实验情况都是通过纸质形 式保存。由于是纸质的...
对于没有录入学生成绩管理系统的学生信息可以添加到系统(此项功能的实现需要对用 户身份进行核查) 2.1.3:能够对学生的信息进行保存,即退出系统时,成绩成绩不能丢失 2.1.4:能够对学生成绩进行拷贝 2.1.5:能够...
(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。 (3)安全与保密要求:用户都必须通过注册、登录才能进入系统,并且用户的权限也需要根据用户的类型...
第5章设计实现,详细描述项目关键用例或关键流程的设计与实现,并附相应代码片 段。 附录附有与项目相关的所有书面资料。 远景 1 项目概述 随着Internet的迅速发展和广泛普及,网络化教育代表了教育改革的一个发展...