有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java servlet中的Beanutils有问题吗

当我在servlet中使用Beanutils时,我发现这不起作用

package servlet.web15;

import org.apache.commons.beanutils.BeanUtils; import 
javax.servlet.ServletException; import 
javax.servlet.annotation.WebServlet; import 
javax.servlet.http.HttpServlet; import 
javax.servlet.http.HttpServletRequest; import 
javax.servlet.http.HttpServletResponse; import java.io.IOException; 
import java.io.PrintWriter; import 
java.lang.reflect.InvocationTargetException; import java.util.HashMap; 
import java.util.Map;

@WebServlet(name = "RegisterServlet", urlPatterns = "/register") 
public class RegisterServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter responseWriter = response.getWriter();

        Map<String, String[]> parameterMap = request.getParameterMap();

        for (Map.Entry<String, String[]> entry :
                parameterMap.entrySet()) {
            String name = entry.getKey();
            for (String str :
                    entry.getValue()) {
                responseWriter.println(name + ": " + str);
            }
        }

        Bean bean = new Bean();

      responseWriter.println(bean.toString());

        try {
            BeanUtils.populate(bean, parameterMap);
        } catch (IllegalAccessException e) {
            responseWriter.println(e.getCause());
        } catch (InvocationTargetException e) {
            responseWriter.println(e.getCause());
        }
      responseWriter.println(bean.toString()); // this statement doesn't work, something wrong with the try and catch

    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }


}

html片段是这样的

<div class="form form-signup">
        <form action="/register" method="post">
            <lable>FULL NMAE</lable>
            <input type="text"
                   placeholder="Your full name" name="name">
            <lable>E-MAIL</lable>
            <input type="email"
                   placeholder="Your e-mail" name="email">
            <lable>PASSWORD</lable>
            <input type="password"
                   placeholder="Your password" name="password">
            <p class="terms">
                <input type="checkbox">
                I agree all statments in
                <a href="#" class="lined-link">terms of service</a>
            </p>
            <input type="submit"
                   class="form-btn"
                   value="Sign Up"/>
            <a href="#" class="lined-link to-signin-link">I'm already member</a>
        </form>
</div>

这是比恩。阶级

package servlet.web15;

public class Bean {
    private String name;
    private String email;
    private String password;

    public Bean() {
    }

    public Bean(String name, String email, String password) {
        this.name = name;
        this.email = email;
        this.password = password;
    }

    @Override
    public String toString() {
        return "Bean{" +
                "name='" + name + '\'' +
                ", email='" + email + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

所以我试图找到一些帮助,然后,有人告诉我这是this中的一个bug。 所以我是根据链接的内容做的,我修改了插件文件夹的内容,但这不起作用,我的想法被打乱了

如何解决这个问题? Tomcat版本:9.0.12

ps:错误消息与该链接相同。就像

11-Apr-2017 18:20:06.973 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\servers\apache-tomcat-8.5.13\webapps\manager

11-Apr-2017 18:20:07.084 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\servers\apache-tomcat-8.5.13\webapps\manager has finished in 112 ms

共 (0) 个答案