信息系统设计注册系统源码Word下载.doc
《信息系统设计注册系统源码Word下载.doc》由会员分享,可在线阅读,更多相关《信息系统设计注册系统源码Word下载.doc(51页珍藏版)》请在冰豆网上搜索。
1、掌握servlet的配置方法
2、掌握请求过滤器用法
3、掌握lister用法
实验内容
Servlet配置
常用对象
过滤器的用法
实
验
过
程
、
结
果
及
分
析
1、请通过java编写一个客户端,能够把指定网站,指定网页中的所有超级连接打印出来.
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
import.URL;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassUrls{
privateStringstartUrl;
//开始采集网址
StringurlContent;
StringContentArea;
privateStringstrAreaBegin,strAreaEnd;
//采集区域开始采集字符串和结束采集字符串
privateStringstringInUrl,stringNotInUrl;
StringstrContent;
//获得的采集内容
String[]allUrls;
//采集到的所有网址
privateStringregex;
//采集规则
UrlAndTitleurlAndTitle=newUrlAndTitle();
//存储网址和标题
publicstaticvoidmain(String[]args)
{
Urlsmyurl=newUrls("
<
body"
"
/body>
"
);
myurl.getStartUrl("
myurl.getUrlContent();
myurl.getContentArea();
myurl.getStringInUrl("
myurl.getStringNotInUrl("
google"
myurl.Urls();
}
//初始化构造函数strAreaBegin和strAreaEnd
publicUrls(StringstrAreaBegin,StringstrAreaEnd){
this.strAreaBegin=strAreaBegin;
this.strAreaEnd=strAreaEnd;
//
publicvoidUrls()
inti=0;
//Stringregex="
a
//href="
?
'
http:
//[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z]+/?
[\.?
[\S|\s]]+[a>
]$"
;
finalStringregex="
a.*?
/a>
//.*?
>
finalPatternpt=Ppile(regex);
finalMatchermt=pt.matcher(ContentArea);
while(mt.find()){
System.out.println(mt.group());
i++;
//获取标题
finalMatchertitle=Ppile("
.*?
).matcher(mt.group());
while(title.find()){
System.out.println("
标题:
+title.group().replaceAll("
|<
));
}
//获取网址
finalMatchermyurl=Ppile("
href=.*?
while(myurl.find()){
网址:
+myurl.group().replaceAll("
href=|>
System.out.println();
System.out.println("
共有"
+i+"
个符合结果"
//获得开始采集网址
publicvoidgetStartUrl(StringstartUrl)
this.startUrl=startUrl;
//获得网址所在内容;
publicvoidgetUrlContent()
StringBufferis=newStringBuffer();
try{
URLmyUrl=newURL(startUrl);
BufferedReaderbr=newBufferedReader(newInputStreamReader(myUrl
.openStream()));
Strings;
while((s=br.readLine())!
=null){
is.append(s);
urlContent=is.toString();
}catch(Exceptione)
System.out.println("
网址文件未能输出"
e.printStackTrace();
//获得网址所在的匹配区域部分
publicvoidgetContentArea()
intpos1=0,pos2=0;
pos1=urlContent.indexOf(strAreaBegin)+strAreaBegin.length();
pos2=urlContent.indexOf(strAreaEnd,pos1);
ContentArea=urlContent.substring(pos1,pos2);
//以下两个函数获得网址应该要包含的关键字及不能包含的关键字
//这里只做初步的实验。
后期,保护的关键字及不能包含的关键字应该是不只一个的。
publicvoidgetStringInUrl(StringstringInUrl)
this.stringInUrl=stringInUrl;
publicvoidgetStringNotInUrl(StringstringNotInUrl)
this.stringNotInUrl=stringNotInUrl;
//获取采集规则
//获取url网址
publicvoidgetUrl()
publicStringgetRegex()
returnregex;
classUrlAndTitle{
StringmyURL;
Stringtitle;
2、请建立一个servlet类用于显示当前的系统时间
publicclassssextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
this.dopost(request,response);
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
Datedate=newDate();
response.setContentType("
text/html"
PrintWriterout=response.getWriter();
out
.println("
!
DOCTYPEHTMLPUBLIC/"
-//W3C//DTDHTML4.01Transitional//EN/"
out.println("
HTML>
<
HEAD>
TITLE>
AServlet<
/TITLE>
/HEAD>
BODY>
out.print("
Thisis"
out.print(this.getClass());
usingtheGETmethod"
+date);
/BODY>
/HTML>
out.flush();
out.close();
3当用户进入web应用没有登入时,要求用户必须登入。
SessionFilter.java
packagenet.pms.web.filter;
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpServletResponseWrapper;
/**
*
*/
publicclassSessionFilterimplementsFilter{
publicstaticbooleanisContains(Stringcontainer,String[]regx){
booleanresult=false;