struts 中图片显示问题 用网络路径应该可以调到吧!然后将路径保存在页面session内!这样能否实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写一个servlet来读取图片。在需要显示的JSP位置<img src="/servlet/showImage?filename=文件名">。用类似的方法就可以了。 这个servlet返回什么,在什么地方启动servlet,能给个例子吗? public class showImageServlet extends HttpServlet { private static String FILEPATH; public void init(ServletConfig config) throws ServletException { FILEPATH=config.getInitParameter("IMAGEPATH"); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletOutputStream out = response.getOutputStream(); String filename=request.getParameter("filename"); File file=new File(FILEPATH,filename); BufferedInputStream reader=new BufferedInputStream(new FileInputStream(file)); try{ byte []b=new byte[1024]; int l; while((l=reader.read(b, 0, b.length))>0){ out.write(b, 0, l); } }finally{ reader.close(); out.flush(); } } } 好人做到底。要使用servlet需要在web.xml中配置,com.jsepc.bi是我的包名。 <servlet> <servlet-name>showImageServlet</servlet-name> <display-name>showImageServlet</display-name> <servlet-class>com.jsepc.bi.showImageServlet</servlet-class> <init-param> <param-name>IMAGEPATH</param-name> <param-value>D:\INFA\</param-value> <description>图形存放目录,根据需要修改</description> </init-param> </servlet> <servlet-mapping> <servlet-name>showImageServlet</servlet-name> <url-pattern>/servlet/showImage</url-pattern> </servlet-mapping> public class showImageServlet extends HttpServlet { private static String FILEPATH; public void init(ServletConfig config) throws ServletException { FILEPATH=config.getInitParameter("IMAGEPATH");//IMAGEPATH是哪的? } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletOutputStream out = response.getOutputStream(); String filename=request.getParameter("filename");//filename从哪取得 File file=new File(FILEPATH,filename); BufferedInputStream reader=new BufferedInputStream(new FileInputStream(file)); try{ byte []b=new byte[1024]; int l; while((l=reader.read(b, 0, b.length))>0){ out.write(b, 0, l); } }finally{ reader.close(); out.flush(); } } }要在web.xml中配置什么吗?这个servlet和action又什么关系吗? filename从url中传入。就是上面的<img src="/servlet/showImage?filename=文件名"> 看来你需要先补充一下servlet的基础知识了。 我按你说的做了,每显示。我现在只建了一个servlet和一个jsp页面,也在web.xml中配置好了,也每显示代码吗如下:servlet:import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.ServletOutputStream;import java.io.File;import java.io.BufferedInputStream;import java.io.FileInputStream;public class showImageTestServlet extends HttpServlet { String FILEPATH = "C:/uploadfiles/images/"; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletOutputStream outt = response.getOutputStream(); String filename = request.getParameter("filename"); File file = new File(FILEPATH,filename); BufferedInputStream reader = new BufferedInputStream(new FileInputStream(file)); try{ byte [] b = new byte[1024]; int l; while((l = reader.read(b,0,b.length))>0){ outt.write(b,0,1); } }finally{ reader.close(); outt.flush(); } }}jsp页面:<img src="/servlet/showImage?filename=High.jpg">web.xml: <servlet> <servlet-name>ms7</servlet-name> <servlet-class>com.fish.itebookhomedemo.struts.action.showImageTestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ms7</servlet-name> <url-pattern>/servlet/showImage</url-pattern> </servlet-mapping>什么地方错了吗? outt.write(b,0,1); 怎么是1,应该是l (L) cpu2001(cpu2001)正解什么意思? 不删除数据库中的数据来实现删除操作 关于struts2拦截器中执行插入数据问题,在线等 json疑难杂症 就要疯了,快来帮忙啊 tomcat访问manager出现403错误 关于java类,转发jsp页面问题 SSH怎么读取这个存储过程的数据(急急急急急急急急急急急急) JNDI连接LADP时的参数含义? 我用Jbuilder9 + Weblogic7开发WebServices,为什么在Build出错? 请问一个问题 由一道笔试题引发的思考 学习j2ee用什么数据库比较好 sos!!!如果要用jsp做一个动态网站,需要解决什么关键技术?谢谢!!!
private static String FILEPATH; public void init(ServletConfig config) throws ServletException { FILEPATH=config.getInitParameter("IMAGEPATH");
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletOutputStream out = response.getOutputStream();
String filename=request.getParameter("filename");
File file=new File(FILEPATH,filename);
BufferedInputStream reader=new BufferedInputStream(new FileInputStream(file));
try{
byte []b=new byte[1024];
int l;
while((l=reader.read(b, 0, b.length))>0){
out.write(b, 0, l);
}
}finally{
reader.close();
out.flush();
}
}
}
要使用servlet需要在web.xml中配置,com.jsepc.bi是我的包名。
<servlet>
<servlet-name>showImageServlet</servlet-name>
<display-name>showImageServlet</display-name>
<servlet-class>com.jsepc.bi.showImageServlet</servlet-class>
<init-param>
<param-name>IMAGEPATH</param-name>
<param-value>D:\INFA\</param-value>
<description>图形存放目录,根据需要修改</description>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>showImageServlet</servlet-name>
<url-pattern>/servlet/showImage</url-pattern>
</servlet-mapping>
private static String FILEPATH; public void init(ServletConfig config) throws ServletException { FILEPATH=config.getInitParameter("IMAGEPATH");//IMAGEPATH是哪的?
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletOutputStream out = response.getOutputStream();
String filename=request.getParameter("filename");//filename从哪取得
File file=new File(FILEPATH,filename);
BufferedInputStream reader=new BufferedInputStream(new FileInputStream(file));
try{
byte []b=new byte[1024];
int l;
while((l=reader.read(b, 0, b.length))>0){
out.write(b, 0, l);
}
}finally{
reader.close();
out.flush();
}
}
}
要在web.xml中配置什么吗?这个servlet和action又什么关系吗?
就是上面的
<img src="/servlet/showImage?filename=文件名">
servlet:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletOutputStream;
import java.io.File;
import java.io.BufferedInputStream;
import java.io.FileInputStream;public class showImageTestServlet extends HttpServlet {
String FILEPATH = "C:/uploadfiles/images/";
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletOutputStream outt = response.getOutputStream();
String filename = request.getParameter("filename");
File file = new File(FILEPATH,filename);
BufferedInputStream reader = new BufferedInputStream(new FileInputStream(file));
try{
byte [] b = new byte[1024];
int l;
while((l = reader.read(b,0,b.length))>0){
outt.write(b,0,1);
}
}finally{
reader.close();
outt.flush();
}
}
}
jsp页面:
<img src="/servlet/showImage?filename=High.jpg">
web.xml:
<servlet>
<servlet-name>ms7</servlet-name>
<servlet-class>com.fish.itebookhomedemo.struts.action.showImageTestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ms7</servlet-name>
<url-pattern>/servlet/showImage</url-pattern>
</servlet-mapping>
什么地方错了吗?
什么意思?