servlet的doGet方法可以将值返回给java类吗?

时间:2017-03-31 10:04:58

标签: java servlets

我从简单的java类调用servlet。正确调用servlet doGet方法,并在doGet中编写一些逻辑以将结果作为String。

我可以将该字符串从servlet的doGet方法返回到从简单的java类调用函数吗?如果可能的话,你能提供一个例子吗?

任何帮助都是得到了回报。提前谢谢。

下面是调用servlet的ContactServlet简单java类: -

public class ContactServlet {

<div ng-controller="Test as T">
    <div ng-repeat="(title, row) in T.data"> <!-- Not sure how I would go about sorting these keys by certain ones first -->
        {{ title }} ({{ row }})
    </div>
</div>

}

下面是servlets的doGet方法: -

public static void main(String[] args) throws IOException {

     String param = "username=YOURSTRING";
        String request = "http://localhost:8080/TestServlet/post";
        URL url = new URL(request);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        url.openConnection();          
        connection.setDoOutput(true);
        connection.setDoInput(true);
        connection.setInstanceFollowRedirects(false);
        connection.setRequestMethod("POST");
        connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        connection.setRequestProperty("charset", "utf-8");
        connection.setRequestProperty("Content-Length", "" +  Integer.toString(param.getBytes().length));
        connection.setUseCaches (false);

        System.out.println(connection);
        System.out.println(param);

        DataOutputStream out = new DataOutputStream(connection.getOutputStream ());
        out.writeBytes(param);
        out.flush();
        out.close();

        for(int i=1;i<=8;i++){  
            System.out.println(connection.getHeaderFieldKey(i)+" = "+connection.getHeaderField(i));  
            }  

        connection.disconnect();



}

我没有把它写到网页上,而是想要String&#34; Hello Username!&#34;要返回ContactServlet类。我们怎么能这样做?

1 个答案:

答案 0 :(得分:0)

Servlet方法应由servlet容器调用,而不是由程序员手动调用,  所以你不应该自己调用doPost()doGet()方法,而是需要一个servlet容器来为你处理这些方法。

总之,您需要在Servlet容器中部署Servlet,如Tomcat,Jetty等,当您进行HttpURLConnection调用时,  容器将调用委托给相应的Servlet的doPost()doGet()方法。

发生的事情是,Servlet容器负责实例化HttpServletRequestHttpServletResponse对象,然后将请求委托给相应的servlet方法。