2 java1996 java1996 于 2017.08.28 10:17 提问

求大神指点这段代码什么意思

package org.owasp.webgoat.plugin;

import org.apache.ecs.Element;
import org.apache.ecs.ElementContainer;
import org.apache.ecs.StringElement;
import org.apache.ecs.html.BR;
import org.apache.ecs.html.Input;
import org.owasp.webgoat.lessons.Category;
import org.owasp.webgoat.lessons.LessonAdapter;
import org.owasp.webgoat.session.ECSFactory;
import org.owasp.webgoat.session.WebSession;

import java.util.ArrayList;
import java.util.List;

/**


*
*

  • This file is part of WebGoat, an Open Web Application Security Project
  • utility. For details, please see http://www.owasp.org/ *
  • Copyright (c) 2002 - 20014 Bruce Mayhew *
  • This program is free software; you can redistribute it and/or modify it under
  • the terms of the GNU General Public License as published by the Free Software
  • Foundation; either version 2 of the License, or (at your option) any later
  • version. *
  • This program is distributed in the hope that it will be useful, but WITHOUT
  • ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  • FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  • details. *
  • You should have received a copy of the GNU General Public License along with
  • this program; if not, write to the Free Software Foundation, Inc., 59 Temple
  • Place - Suite 330, Boston, MA 02111-1307, USA. *
  • Getting Source ============== *
  • Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository
  • for free software projects. *
  • For details, please see http://webgoat.github.io *
  • @author Bruce Mayhew WebGoat
  • @created October 28, 2003
    */
    public class HttpBasics extends LessonAdapter {

    private final static String PERSON = "person";

    /**

    • Description of the Method *
    • @param s Description of the Parameter
    • @return Description of the Return Value
      */
      protected Element createContent(WebSession s) {
      ElementContainer ec = new ElementContainer();

      StringBuffer person = null;
      try {
      ec.addElement(new BR());
      ec.addElement(new StringElement(getLabelManager().get("EnterYourName") + ": "));

      person = new StringBuffer(s.getParser().getStringParameter(PERSON, ""));
      person.reverse();
      
      Input input = new Input(Input.TEXT, PERSON, person.toString());
      ec.addElement(input);
      
      Element b = ECSFactory.makeButton(getLabelManager().get("Go!"));
      ec.addElement(b);
      

      } catch (Exception e) {
      s.setMessage("Error generating " + this.getClass().getName());
      e.printStackTrace();
      }

      if (!person.toString().equals("") && getLessonTracker(s).getNumVisits() > 3) {
      makeSuccess(s);
      }

      return (ec);
      }

    /**

    • Gets the hints attribute of the HelloScreen object *
    • @return The hints value
      */
      public List getHints(WebSession s) {
      List hints = new ArrayList();
      hints.add("Type in your name and press 'go'");
      hints.add("Turn on Show Parameters or other features");
      hints.add("Try to intercept the request with OWASP ZAP");
      hints.add("Press the Show Lesson Plan button to view a lesson summary");
      hints.add("Press the Show Solution button to view a lesson solution");

      return hints;
      }

    /**

    • Gets the ranking attribute of the HelloScreen object *
    • @return The ranking value */ private final static Integer DEFAULT_RANKING = new Integer(10);

    protected Integer getDefaultRanking() {
    return DEFAULT_RANKING;
    }

    protected Category getDefaultCategory() {
    return Category.GENERAL;
    }

    /**

    • Gets the title attribute of the HelloScreen object *
    • @return The title value */ public String getTitle() { return ("Http Basics"); } }

1个回答

li_ling_ren
li_ling_ren   2017.08.28 10:57

createContent方法传入一个参数s 是WebSession类型
//通过webSession获取参数解析器,并通过解析器获取(Gets the named parameter value as a String, with a default.)获取一个参数,如果获取不到默认为空字符串.
person = new StringBuffer(s.getParser().getStringParameter(PERSON, ""));
//反转字符串
person.reverse();
//创建一个Input标签,把刚才的值赋给这个Input
Input input = new Input(Input.TEXT, PERSON, person.toString());
ec.addElement(input);
//创建按钮
Element b = ECSFactory.makeButton(getLabelManager().get("Go!"));
ec.addElement(b);

大致是这个样子,望采纳

Csdn user default icon
上传中...
上传图片
插入图片