好文档 - 专业文书写作范文服务资料分享网站

南昌航空大学实验报告2-Struts2拦截器实验权限的验证

天下 分享 时间: 加入收藏 我要投稿 点赞

南昌航空大学实验报告二

二0一四 年 五 月 十二 日

课程名称: SSH框架应用开发 实验名称: Struts2拦截器实现权限的验证 班级: 11微软班 姓名: 同组人:

指导教师评定: 签名:

一、 实验目的

了解熟悉Struts2中拦截器框架的使用,利用拦截器进行一些常见动作的拦截处理。

二、 实验要求

利用Struts2拦截器实现一个用户权限判断的过程,将表单中用户输入的信息进行比较。默认admin为管理员用户,当用户登录时根据输入的用户名,利用拦截器的功能,到数据库中进行比较,如果用户名为admin则可以通过,页面显示登录成功;否则,显示没有管理员权限,禁止登录。

给出实验过程中的主要界面截图和核心代码,并描述实现的思路和方法。

三、 实验步骤

1.先创建数据库和表;

2.编写DBConnection.java;

3.编写LoginInterceptor.java,LoginAction.Java; 4.编写Error.jsp,Success.jsp,Login.jsp; 5.配置structs.xml;

四、 参考源代码

LoginInterceptor.java

@SuppressWarnings(\)

public class LoginInterceptor extends AbstractInterceptor{ @Override

public String intercept(ActionInvocation invocation) throws Exception {//登录判断 // TODO Auto-generated method stub //拦截Action处理的拦截方法

// 取得请求相关的ActionContext实例

ActionContext ctx=invocation.getInvocationContext(); Map session=ctx.getSession(); //取出名为user的session属性 String result=null;

String name=(String)session.get(\); if(name!=null && name.equals(\)){ result= invocation.invoke(); } else{

result=Action.ERROR;

}

return result; } }

Error.jsp

您还没有权限登入系统!

Success.jsp

登录成功!

Login.jsp

用户名:

password 密  码:

      

    

<% String name=request.getParameter(\);

String password=request.getParameter(\); if(name!=null){

session.setAttribute(\, name);

session.setAttribute(\, password);%> <%}%>

Structs.xml

/Success.jsp /Error.jsp /Login.jsp

LoginAction.Java

public String execute() throws Exception { // TODO Auto-generated method stub

ActionContext cxt = ActionContext.getContext(); Map session=cxt.getSession(); //取出名为user的session属性 String result=null;

String name=(String)session.get(\);

String password=(String)session.get(\); if (name!=null){

con=DBConnection.getConnection(); ListuserList=findAllUsers(); int i=0;

boolean flag=false;

for(;i

if(name.equals(userList.get(i).getName())){

if(password.equals(userList.get(i).getPassword())){ flag=true; break; } } }

if(!flag){

this.addFieldError(\, \密码错误!\); result= Action.INPUT; }

else{

result= Action.SUCCESS; } }

return result; }

public List findAllUsers() {

String showSQL=\; PreparedStatement pstmt=null;

ListuserList=new ArrayList(); try{

pstmt=con.prepareStatement(showSQL);

ResultSet rs=pstmt.executeQuery(); //执行查询 while(rs.next()){

User user=new User();//实例化对象

南昌航空大学实验报告2-Struts2拦截器实验权限的验证

南昌航空大学实验报告二二0一四年五月十二日课程名称:SSH框架应用开发实验名称:Struts2拦截器实现权限的验证班级:11微软班姓名:同组人:指导教师评定:
推荐度:
点击下载文档文档为doc格式
8eavr79t3o8n6j587kfn
领取福利

微信扫码领取福利

微信扫码分享