| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 655 人关注过本帖
标题:如何用正则表达式消除JSP动态脚本?
只看楼主 加入收藏
牛腩
Rank: 3Rank: 3
来 自:南宁
等 级:论坛游侠
威 望:1
帖 子:59
专家分:161
注 册:2007-6-3
收藏
 问题点数:0 回复次数:1 
如何用正则表达式消除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: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
收藏
得分:0 

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

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

2007-11-21 10:05
快速回复:如何用正则表达式消除JSP动态脚本?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022156 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved