不知道大家对asp采用三层结构开发有没有兴趣?

ajoke 2006-03-14 10:55:34
asp里面也可以使用Class,我们可以通过这个分离逻辑和视图,不知道大家对这个有没有兴趣?
我写了一个简单的框架(模范java中的web框架webwork),可以实现文件的动态include以及指定方法的动态执行,不知道大家有没有兴趣?
有兴趣可以看一下http://www.famousweb.net/blog/blogview.asp?logID=16
我也不知道这种做法是否有意义,请大家看一下,谢谢
...全文
254 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ajoke 2006-03-15
  • 打赏
  • 举报
回复
我觉得能够解决动态include文件和executeglobal之后,vbs语言的局限性很小了
KimSoft 2006-03-15
  • 打赏
  • 举报
回复
不错,asp不适宜做三层主要是vbs语言的局限性。
李睿_Lee 2006-03-15
  • 打赏
  • 举报
回复
参考一下
iuhxq 2006-03-14
  • 打赏
  • 举报
回复
你可以把。NET的控件都用ASP实现,呵呵
ajoke 2006-03-14
  • 打赏
  • 举报
回复
to flyingsnowy
我只是发现比较有趣,呵呵,这不是我的工作
ajoke 2006-03-14
  • 打赏
  • 举报
回复
to yousite1(国雾)
我想把你的代码修改后做成ParamInterceptor,是否可以借用你的代码?
ajoke 2006-03-14
  • 打赏
  • 举报
回复
to eastjazz(德仔&我是小仔仔 www.dezai.cn)
我已经实现了一个三层框架,呵呵
我只想知道这样做是否有意义
btw:我不是asp程序员,偶尔发现asp开发这么混乱才想起搞这么一个咚咚
德仔 2006-03-14
  • 打赏
  • 举报
回复
浅谈如何建立三层体系结构的ASP应用程序
http://www.dezai.cn/study/Article_Show.asp?ArticleID=5982


楼主看看吧,可能对您有用。
ajoke 2006-03-14
  • 打赏
  • 举报
回复
嗯,这个可以作为ParamInterceptor加入我的aspwork中
flyingsnowy 2006-03-14
  • 打赏
  • 举报
回复
不建议ASP也搞三层结构。原因太多了。不讲了。
如果行的知,MS应该想到了。何必搞什么asp+,就是.net了。
如果楼主喜欢三层,跟我一样,转啦。
yousite1 2006-03-14
  • 打赏
  • 举报
回复
刚才这个我有实现过变量自动赋值的。
<%
'########################################################################################+
'通用获取2.0完美版
'作者:haicao[E.S.T]
'调用函数 前面一个参数是给变量加前缀(即为前缀+控件名的形式)若无前缀则为""
'第二个参数为sql防注入检查函数名。未使用时为空
'调用该函数后可以通过控件名称或前缀+控件名称的方式直接访问啦!就省得用request语句去一个一个获取参数了。
'把上面两个函数写到一个文件里,然后在须要取参数的地方include进来。调用一下函数就ok了!
'########################################################################################
%>




<%
function getSingleVar(avar,sqlchkFunc)
'on error resume next
'代码功能:取get或post方式提交的数据存在同名的变量中
'最好用来取控件名称不重复的。
'avar表示取得的变量名称为avar+控件名称的形式,如果不加前缀则参数应该为""
'sqlchkFunc为取值时使用sql防注入检查
dim getFlag,item,tmp
if Request.ServerVariables("REQUEST_METHOD")="GET" then
getFlag=true 'get方式提交
else
getFlag=false 'post方式提交
end if
if getFlag then
For Each item In Request.QueryString
if sqlchkFunc<>"" then
if instr(Request.QueryString(item),"""")>0 then
tmp=avar&item&"="&sqlchkFunc&"("&""""&replace(replace(Request.QueryString(item),vbcrlf,"<br>"),"""","""""")&""""&")"
' response.Write(avar&item&"="&sqlchkFunc&"("&""""&replace(replace(Request.QueryString(item),vbcrlf,"<br>"),"""","""""")&""""&")")
execute(tmp)
else
execute(avar&item&"="&sqlchkFunc&"("&""""&replace(Request.QueryString(item),vbcrlf,"<br>")&""""&")")
end if
else
if instr(Request.QueryString(item),"""")>0 then
tmp=avar&item&"="&sqlchkFunc&"("&""""&replace(Request.QueryString(item),"""","""""")&""""&")"
execute(tmp)
else
execute(avar&item&"="&""""&replace(Request.QueryString(item),vbcrlf,"<br>")&"""")
end if
end if
Next
else
For Each item In Request.Form
if sqlchkFunc<>"" then
if instr(Request.Form(item),"""")>0 then
tmp=avar&item&"="&sqlchkFunc&"("&""""&replace(replace(Request.Form(item),vbcrlf,"<br>"),"""","""""")&""""&")"
execute(tmp)
else
execute(avar&item&"="&sqlchkFunc&"("&""""&replace(Request.Form(item),vbcrlf,"<br>")&""""&")")
end if
else
if instr(Request.Form(item),"""")>0 then
tmp=avar&item&"="&sqlchkFunc&"("&""""&replace(Request.Form(item),"""","""""")&""""&")"
execute(tmp)
else
execute(avar&item&"="&""""&replace(Request.Form(item),vbcrlf,"<br>")&"""")
end if
end if
next
end if
end function

Function checkstr(str)
dim dsql,d_sql,d
dsql="'|;|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare" 'sql危险字符 可以不断扩充
d_sql=split(dsql,"|")
for each d in d_sql
if instr(Lcase(str),d) then
writeScript "对不起参数中含有不合法字符!",-1
response.end
end if
next
checkstr=str
end function

function writeScript(byval info,byval target)
'info为将要用脚本显示的信息,target为转向目标页
response.Write("<script language='javascript'>"&vbcrlf)
response.Write("alert('"&info&"');"&vbcrlf)
if target=-1 then
response.Write("history.go(-1);"&vbcrlf)
else
response.Write("location.href='"&target&"';"&vbcrlf)
end if
response.Write("</script>"&vbcrlf)
end function

%>
ajoke 2006-03-14
  • 打赏
  • 举报
回复
主要是我想找个全站程序改成自己的,发现太难读了,就算现在我用的L-Blog也是及其分散的,所以才想搞这么个东西。
另外主要还想实现一个参数自动赋值的功能
比如说action的Class中有name这个属性,request中传回了name,则自动赋值,不需要人工干预,可以完成一些自动化的功能,节省代码
什么都不能 2006-03-14
  • 打赏
  • 举报
回复
用asp编,工作量太大,3层结构还是适用于jsp和.net
yousite1 2006-03-14
  • 打赏
  • 举报
回复
to 楼主,代码虽然是我写的。
但可以共享,不然也不会贴出来了。呵呵。

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧