lizongbo 的编程学习

编程学习 java为主的web应用开发

  DonewsBlog  |  Donews首页  |  Donews社区  |  Donews邮箱  |  我的首页  |  联系作者  |  聚合   |  登录
  75篇文章 :: 0篇收藏:: 35篇评论:: 2个Trackbacks

公告

lizongbo的blog


文章

收藏

相册

常用网址

存档


正在读取评论……


代码改自:org.displaytag.sample.displaysourceservlet

web.xml的映射如下:
  <servlet>
    <servlet-name>displayjspsourceservlet</servlet-name>
    <servlet-class>com.lizongbo.displayjspsourceservlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>displayjspsourceservlet</servlet-name>
    <url-pattern>*.jspsrc</url-pattern>
  </servlet-mapping>

java代码如下:
package com.lizongbo;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class displayjspsourceservlet
    extends httpservlet {
  private static final string content_type = "text/html; charset=utf-8";
  public void init() throws servletexception {
  }

  public void doget(httpservletrequest request, httpservletresponse response) throws
      servletexception, ioexception {
    response.setcontenttype(content_type);
    printwriter out = response.getwriter();
    out.println("<html>");
    out.println("<head><title>jsp source ");
    string jspfn = request.getservletpath();
    jspfn = jspfn == null ? "" : jspfn;
    if (jspfn.lastindexof(".jsp.") > 1) {
      jspfn = jspfn.substring(0,jspfn.lastindexof(".jsp.") + 4);
    }
    out.print(jspfn);
    out.println("  -- lizongbo edit from org.displaytag.sample.displaysourceservlet </title></head>");
    out.println("<body bgcolor=\"#ffffff\">");
    out.println("<pre>");
    inputstream inputstream = getservletcontext().getresourceasstream(
        jspfn);
    if (inputstream == null) {
      out.println("unable to find jsp file: " + jspfn);
    }
    else {
      for (int currentchar = inputstream.read(); currentchar != -1;
           currentchar = inputstream.read()) {
        if (currentchar == '<') {
          out.print("&lt;");
        }
        else {
          out.print( (char) currentchar);
        }
      }
    }
    out.println("</pre>");
    out.println("</body>");
    out.println("</html>");
    out.close();
  }
  public void dopost(httpservletrequest request, httpservletresponse response) throws
      servletexception, ioexception {
    doget(request, response);
  }

  public void destroy() {
  }
}


使用方法
比如可以访问:http://lizongbo.com:/lizongbo/lizongbo.jsp
那么访问 http://lizongbo.com:/lizongbo/lizongbo.jsp.jspsrc

就可以查看到jsp文件的源代码。



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=382616


[点击此处收藏本文]  发表于2005年05月16日 11:51 AM




正在读取评论……

发表评论

大名:
网址:
验证码
评论