今天无事,做了一个Jsp或asp.Net的预编译工具...

原创 2004年11月01日 18:41:00




原理很简单.
虽然一些JSP的WebServer提供预编译的功能,不过也可以试着自己写一个.
里面主要用到了java的HttpURLConnection 和java.io.*;以下是Console的Code:

package sam.bobpig.com;
import java.io.*;
import java.net.*;
/**
 * <p>Title: Asp.net 或 Jsp的Precompile程序</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company:重庆飞时数码公司 </p>
 * @author 宋光义
 * @version 1.0
 */

public class Precomplie {
  public static FileFilter fileFilter=new PrecompileFileFilter();
  public URL rootURL;

  public Precomplie(URL aRootURL) {
    rootURL = aRootURL;
  }

  //
  public void precompileDirectory(File dir,String startDir)
  {
    File[] files=dir.listFiles(fileFilter);
    for(int i=0;i<files.length;i++)
    {
      if(files[i].isDirectory())
      {
        precompileDirectory(files[i],startDir+dir.getName());
      }
      else
      {
        precompileFile(files[i],startDir+dir.getName());
      }
    }
  }

  public void precompileFile(File file,String startDir)
  {
    try
    {
      URL precompileURL=new URL(rootURL,startDir+"/"+file.getName()+"?asp_pre=true");

      //System.out.println(rootURL.toString());
      System.out.println(precompileURL.toString());

      HttpURLConnection conn=(HttpURLConnection) precompileURL.openConnection();
      int responseCode=conn.getResponseCode();
      System.out.println(rootURL+startDir+"/"+file.getName()+" has ok!  ["+responseCode+"]");
    }
    catch(Exception exc)
    {
      System.out.println("Exception:"+exc.toString()+"for"+startDir+file.getName());

    }
  }


  public static void main(String[] args) {
    if(args.length<2)
    {
      System.out.print("Please supply a base URL and a base directory...");
      System.exit(0);
    }

    try
    {
      String startURL=args[0];
      File start=new File(args[1]);

      Precomplie precomp=new Precomplie(new URL(startURL));

      if(start.isDirectory())
      {
        precomp.precompileDirectory(start,"");
      }
      else
      {
        precomp.precompileFile(start,"");
      }
    }
    catch(Exception exc)
    {
      exc.printStackTrace();
    }

  }
}

class PrecompileFileFilter implements FileFilter
{
  public boolean accept(File f)
  {
    if(f.isDirectory()) return true;
    if(f.getName().endsWith(".aspx")) return true;
    return false;
  }
}

Asp.net 网站发布到服务器后 访问报错:这是预编译工具生成的标记文件,不应删除!

在本地测试一切正常,点发布网站,上传到服务器。然后再访问会有个别页面报错:这是预编译工具生成的标记文件,不应删除! 整了一晚上, 还是没找出原因,网站我又重复编译了多次还是没效果。后来记起来,这个报...
  • sabic
  • sabic
  • 2011年08月10日 11:18
  • 2810

关于JSP的预编译

关于JSP的预编译在weblogic中使用jsp预编译功能时需要进行以下设置:1、在weblogic.xml加入以下配置,   precompile  true 2、使用ant教本对web应用的jsp...
  • snoww
  • snoww
  • 2005年04月22日 14:32
  • 1762

实战jsp预编译,充分享受jsp预编译的好处!

jsp预编译有以下好处: 1.省去第一次运行jsp时的编译所花费的时间,实现servlet一样,一步到位的运行。 2.有效的保护源代码,在产品发布的时候只需要提供依据编译好的class文件,不需要...
  • ACHENGLIN
  • ACHENGLIN
  • 2012年07月10日 22:54
  • 1044

asp.net 预编译网站

  ASP.NET 1.x的开发人员常常听到用户抱怨首次调用应用程序的时候会碰到初始化延迟。毕竟,初次请求会引发一个系列过程,包括运行库初始化、分析、把ASPX页面编译成中间语言、把方法即时编译成本地...
  • hanxin1987216
  • hanxin1987216
  • 2008年08月24日 11:41
  • 2096

Tomcat 7 下对 JSP 进行预编译

预编译jsp,直接看maven配置,IDE为idea,注意tomcat的版本,有些版本中有些类是不存在的,那么就把编译的tomcat版本降低 org.codehau...
  • u012294371
  • u012294371
  • 2017年06月07日 10:25
  • 424

Tomcat JSP预编译(JSP Jar包实现)

1.         编写构建配置文件build.propertiestomcat.home=D:/Tomcat/apache-tomcat-7.0.14java.home=D:/ProgramFil...
  • xiexl
  • xiexl
  • 2011年05月17日 23:55
  • 6827

如何:预编译 ASP.NET 网站

预编译 ASP.NET 网站可缩短用户的初始响应时间,因为页在第一次被请求时无需编译。这对于经常更新的大型网站尤其有用。本主题中的过程使用 ASP.NET 编译工具 (Aspnet_compiler....
  • wormwormwormworm
  • wormwormwormworm
  • 2008年02月21日 10:08
  • 516

Asp.Net MVC 项目预编译 View

最近做项目是遇到一个问题,在我们的view中经常遇到一些匿名类型对象,然后在通过RenderPartial输出这些对象。 还是举个例子吧,有3个view Index.cshtml、Test.csht...
  • dz45693
  • dz45693
  • 2012年08月31日 11:04
  • 3685

asp.net 预编译后代码的反编译成源码(演示:鹏为CRM E4版本)

.net 破解新人贴。其实这也不算什么破解,但是对新手来说还是有一定难度滴。。。 很多人会被这样的情况吓到。。   打开后只有一句中文,其他的代码都没有。但是其中有一个很重要的信息,它告诉了我们...
  • u011047160
  • u011047160
  • 2015年06月29日 16:02
  • 2087

通过JSP的预编译消除性能瓶颈

JSP预编译的必要性 本月的文章着眼于移除潜在的系统性能瓶颈,它通过解决一个最普通的问题――在服务器运行时间中的JSP (JavaServer Page)编译的系统开销问题,这个问题困扰着几乎所有的J...
  • czsd82
  • czsd82
  • 2006年09月11日 19:49
  • 751
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:今天无事,做了一个Jsp或asp.Net的预编译工具...
举报原因:
原因补充:

(最多只允许输入30个字)