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页面,如下所示,
RequestDispatcher rd=request.getRequestDispatcher("index.jsp");
rd.forward(request, response);
我在浏览器中没有任何反应/输出,在浏览器中,servlet一旦被调用就必须执行。
我是否错过了这个过程的任何基本步骤?救命啊!
发布于 2014-01-06 11:51:01
如果您想在浏览器中打开它,请尝试
java.awt.Desktop.getDesktop().browse(java.net.URI.create("http://localhost:8080/WeighPro/CommPortSample"));
发布于 2014-01-06 11:00:27
你的问题还不清楚。实际上,您希望从Main方法调用Servlet,还是要向web应用程序发出HTTP请求?
如果您想发出HTTP请求,我看不出上面的代码有什么明显的问题,这使我相信问题在Servlet中。您还提到浏览器中没有任何内容,但是运行上面的程序并不涉及浏览器。
你的意思是当你去
http://localhost:8080/WeighPro/CommPortSample
在浏览器里?
正如Suresh所说,不能直接从main方法调用Servlet。您的Servlet应该调用其他类上的方法,这些其他类应该可以从主方法或测试用例中调用。您需要架构您的应用程序以使之成为可能。
发布于 2014-01-06 11:03:21
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();
}
}
}
https://stackoverflow.com/questions/20948218
复制相似问题