| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 248 人关注过本帖
标题:如何用正则表达式消除JSP动态脚本?
收藏  订阅  推荐  打印 
牛腩
Rank: 1
等级:新手上路
帖子:34
积分:442
注册:2007-6-3
如何用正则表达式消除JSP动态脚本?

我从网上下载了很多JSP源码,里面全是用<%....%>这种形式写的,现在我想把他们全都消除了,自己用javabean+servlet来练练手(SSH没有学,太难)。。。

本来的做法是用DW打开后一处一处脚本的慢慢删除的,可是后来删到烦死,看马士兵的正则表达式后有个想法,用里面的替换把<%....%>里面的东西全都替换为空,自己试了一下。发现也没想像中的那么简单,如果用输入流每次只读一行的话那就有好多种判断条件了,后来决定是把整个网页文件存到一String里面再处理,可是试了一下,还是有问题,可能是我的正则表达式不正确吧,请懂的朋友帮忙看一下,多谢了。。。

package regexp;
import java.io.*;
import java.util.regex.*;
public class ClearJSP {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader(
"E:\\jbproject\\RegExp\\test.jsp"));
String line = "";
String temp = "";
while ( (temp = br.readLine()) != null) {
line += temp;
}
parse(line);
}
catch (FileNotFoundException ex) {
}
catch (IOException ex) {
}
}
private static void parse(String line) {
Pattern p = Pattern.compile("<%\\w*%>");
Matcher m = p.matcher(line);
m.replaceAll(line);
System.out.println("修改前:"+line);
line = line.replaceAll("<%\\w*%>","");
System.out.println("修改后:"+line);
}
}

我知道是有很多替代方法把JSP动态脚本去除的,比如只是把<% %>换成<-- -->就是,可是有时候我们在学编程的过程中达到目的不是最重要的,最重要的是为了练习而练习。。。。我就是想知道怎么用正则表达式替换的。。。
搜索更多相关主题的帖子: 正则表达式  JSP  脚本  动态  消除  
2007-11-21 09:49
huwangvs
Rank: 12Rank: 12Rank: 12
等级:版主
威望:27
帖子:700
积分:8014
注册:2007-2-4

\\w是单词。。。
<jsp:forward....>这个包括进去了吗?
还有就是<%! %>和<%= %>......

[此贴子已经被作者于2007-11-21 10:25:00编辑过]

2007-11-21 10:05
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.228443 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved