首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从java main方法调用servlet

从java main方法调用servlet
EN

Stack Overflow用户
提问于 2014-01-06 10:43:36
回答 5查看 8.1K关注 0票数 2
代码语言:javascript
代码运行次数:0
运行
复制
import java.net.*; 
import java.io.*; 
public class sample
{  
    public static void main (String args[]) 
    { 
        String line;
        try 
        { 
            URL url = new URL( "http://localhost:8080/WeighPro/CommPortSample" ); 
            BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 
            line = in.readLine(); 
            System.out.println( line ); 
            in.close(); 
        }
        catch (Exception e)
        { 
            System.out.println("Hello Project::"+e.getMessage());
        } 
    } 
}

我的Servlet正在调用另一个Jsp页面,如下所示,

代码语言:javascript
代码运行次数:0
运行
复制
 RequestDispatcher rd=request.getRequestDispatcher("index.jsp");
 rd.forward(request, response);

我在浏览器中没有任何反应/输出,在浏览器中,servlet一旦被调用就必须执行。

我是否错过了这个过程的任何基本步骤?救命啊!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-01-06 11:51:01

如果您想在浏览器中打开它,请尝试

代码语言:javascript
代码运行次数:0
运行
复制
java.awt.Desktop.getDesktop().browse(java.net.URI.create("http://localhost:8080/WeighPro/CommPortSample"));
票数 2
EN

Stack Overflow用户

发布于 2014-01-06 11:00:27

你的问题还不清楚。实际上,您希望从Main方法调用Servlet,还是要向web应用程序发出HTTP请求?

如果您想发出HTTP请求,我看不出上面的代码有什么明显的问题,这使我相信问题在Servlet中。您还提到浏览器中没有任何内容,但是运行上面的程序并不涉及浏览器。

你的意思是当你去

代码语言:javascript
代码运行次数:0
运行
复制
http://localhost:8080/WeighPro/CommPortSample

在浏览器里?

正如Suresh所说,不能直接从main方法调用Servlet。您的Servlet应该调用其他类上的方法,这些其他类应该可以从主方法或测试用例中调用。您需要架构您的应用程序以使之成为可能。

票数 1
EN

Stack Overflow用户

发布于 2014-01-06 11:03:21

代码语言:javascript
代码运行次数:0
运行
复制
import java.io.BufferedInputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;

public class OutBoundSimul {

    public static void main(String[] args) {

        sendReq();

    }

    public static void sendReq() {
        String urlString = "http://ip:port/applicationname/servletname";

        String respXml = text;

        URL url = null;

        HttpURLConnection urlConnection = null;
        OutputStreamWriter out = null;
        BufferedInputStream inputStream = null;
        try {
            System.out.println("URL:"+urlString);
            url = new URL(urlString);
            urlConnection = (HttpURLConnection)url.openConnection();
            urlConnection.setDoInput(true);
            urlConnection.setDoOutput(true);
            urlConnection.setRequestMethod("POST");
            System.out.println("SendindData");
            out = new OutputStreamWriter(urlConnection.getOutputStream());
            System.out.println("Out:"+out);
            out.write(respXml);
            out.flush();
            inputStream = new BufferedInputStream(urlConnection.getInputStream());
            int character = -1;
            StringBuffer sb = new StringBuffer();
            while ((character = inputStream.read()) != -1) {
                sb.append((char) character);
            }
            System.out.println("Resp:"+sb.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }


    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20948218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档