validatetag.java

来自「beginJsp2.0外文书籍源代码」· Java 代码 · 共 83 行

JAVA
83
字号
package com.wrox.secure;

import java.io.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.TagSupport;

public class ValidateTag extends TagSupport 
{
  private String errorPage;
  private String securePage;
  private String password;
  private String username;
  
  private UserList database = new UserList();
  
  public void setSecurePage(String page)
  {
    this.securePage = page;
  }
  
  public void setErrorPage(String page)
  {
    this.errorPage = page;
  }
  
  public void setPassword(String password)
  {
    this.password = password;
  }
  
  public void setUsername(String username)
  {
    this.username = username;
  }
  
  public int doEndTag() throws JspException
  {
    HttpSession thisSession = pageContext.getSession();
    User user = new User(this.username, this.password);
  
    if(database.isValidUser(user))
    {
      thisSession.setAttribute("user", this.username);
      
      try
      {
        pageContext.forward(this.securePage);
        
        return this.SKIP_BODY;
      }
      catch(Exception ex)
      {
        throw new JspException(ex.getMessage());
      }
    }
    else
    {
      try
      {
        pageContext.forward(this.errorPage);
      }
      catch(Exception ex)
      {
        throw new JspException(ex.getMessage());
      }
      
    }
    return EVAL_PAGE;
  }

  public void release()
  {
    this.securePage = null;
    this.username = null;
    this.password = null;
    this.errorPage = null;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?