当前位置: 技术问答>java相关
关于Servlet的调用问题
来源: 互联网 发布时间:2015-02-01
本文导语: 在“开发文档”中找到一例: //====================== showimage.java 程序开始 ================ import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class showimage extends HttpServlet { public...
在“开发文档”中找到一例:
//====================== showimage.java 程序开始 ================
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class showimage extends HttpServlet {
public void doget(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
try{
FileInputStream hfile = new FileInputStream("e:\ServletApp\1.gif");
// 以byte流的方式打开文件 d:1.gif
int i=hfile.available(); //得到文件大小
byte data[]=new byte[i];
hfile.read(data); //读数据
hfile.close();
res.setContentType("image/*"); //设置返回的文件类型
OutputStream toclient=res.getOutputStream();
//得到向客户端输出二进制数据的对象
toclient.write(data); //输出数据
toclient.close();
}
catch(IOException e) //错误处理
{
PrintWriter toclient = res.getWriter(); //得到向客户端输出文本的对象
res.setContentType("text/html;charset=gb2312");
toclient.write("无法打开图片!");
toclient.close();
}
}
}
/***** showimage.java 程序结束 *****/
然后运行:
javac E:servletappshowimage.java
在同目录下产生CLASS文件!
用servlet 显示图片
然后打开http://computename/servlet/1.htm,为什么什么都没有????????
是这样调用的吗???
需要设置什么别的吗?
//====================== showimage.java 程序开始 ================
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class showimage extends HttpServlet {
public void doget(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
try{
FileInputStream hfile = new FileInputStream("e:\ServletApp\1.gif");
// 以byte流的方式打开文件 d:1.gif
int i=hfile.available(); //得到文件大小
byte data[]=new byte[i];
hfile.read(data); //读数据
hfile.close();
res.setContentType("image/*"); //设置返回的文件类型
OutputStream toclient=res.getOutputStream();
//得到向客户端输出二进制数据的对象
toclient.write(data); //输出数据
toclient.close();
}
catch(IOException e) //错误处理
{
PrintWriter toclient = res.getWriter(); //得到向客户端输出文本的对象
res.setContentType("text/html;charset=gb2312");
toclient.write("无法打开图片!");
toclient.close();
}
}
}
/***** showimage.java 程序结束 *****/
然后运行:
javac E:servletappshowimage.java
在同目录下产生CLASS文件!
用servlet 显示图片
然后打开http://computename/servlet/1.htm,为什么什么都没有????????
是这样调用的吗???
需要设置什么别的吗?
|
你最好先研究一下Tomcat吧。你这样设置肯定有问题了。
如果你真的设定了“虚拟目录http://computename/servlet设置为E:servletapp” ,(另,端口改为80了吗?如果没有改,tomcat默认是8080端口的,访问得加上端口http://computername:8080)
你把1.htm保存到E:/servletapp中,如果能显示该页(先不管图片是否成功显示),则说明你的Tomcat配置成功了,否则,免谈。
然后在servletapp目录下再建如下目录e:/servletapp/web-inf/classes
把你得showimage.class文件放到该目录中,这样运行
http://computename/servlet/1.htm 就应该成功了。
补充:html文件放到servlet运行目录中是不起作用的。
tomcat配置文件加入:
如果你真的设定了“虚拟目录http://computename/servlet设置为E:servletapp” ,(另,端口改为80了吗?如果没有改,tomcat默认是8080端口的,访问得加上端口http://computername:8080)
你把1.htm保存到E:/servletapp中,如果能显示该页(先不管图片是否成功显示),则说明你的Tomcat配置成功了,否则,免谈。
然后在servletapp目录下再建如下目录e:/servletapp/web-inf/classes
把你得showimage.class文件放到该目录中,这样运行
http://computename/servlet/1.htm 就应该成功了。
补充:html文件放到servlet运行目录中是不起作用的。
tomcat配置文件加入:
|
调用的路径问题。
|
目录的问题,你的1.html是在哪个目录下。
你是用的tomcat吧。
|
看看tomcat的log文件写什么!
|
里有一章是关于tomcat的