java1996 2017-08-28 02:17 采纳率: 0%
浏览 1005

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

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条回答

  • 软工凌人 2017-08-28 02: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);

    大致是这个样子,望采纳

    评论

报告相同问题?

悬赏问题

  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B