servlet中的调用方法

时间:2017-05-31 18:35:59

标签: java servlets intellij-idea

我有这个servlet:

package com...servlet;

import com...Connector;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;


public class AutomateServlet extends HttpServlet{
    private static final Logger log = LoggerFactory.getLogger(AutomateServlet.class);

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Connector con = new Connector();
    boolean test = con.start();
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();

    out.println("Servlet at: " + request.getServletPath());
    out.println("<br/>");
    out.println(request.getServerPort());

}

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    processRequest(request, response);
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // TODO Auto-generated method stub
    processRequest(request, response);
}

}

在Connector中,我有一个方法:

public boolean start() {
  //gets data
  //communicates with an api to post content
    return true;
}

我想做的事情:让AutomateServlet执行我的程序中的行con.start();。 我的问题是当我执行servlet时,即调用servlet的URL:

  

本地主机:2990 / servlet的/测试

这是输出:

Servlet at: /servlet/test 2990

输出只是我预期的一半,因为con.start()没有被执行。

我知道我的预期结果应该是什么 - 使用api创建的页面。 问题是,当我使用我的配置运行我的项目(IntelliJ)时,一切正常。但是,servlet掩盖了java代码。  我输入boolean作为检查以查看servlet的响应。

你能帮我弄清楚为什么con.start()没有产生预期的结果吗?同样,期望的结果是在另一个站点上创建页面。 Connector.start()中的业务逻辑功能齐全,当我在main方法中调用start()但在conn.start()类中调用AutomateServlet时未处理时,这一点很明显。

提前致谢。

0 个答案:

没有答案