


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用户注册系统struts2+jsp+mysql5.5五个实验实验五有本系统的核心代码界面V r管理工件平台r Oi C n> - Eli V手右 T C 3用户名称:關聽芻 |11# 1矍录密码:验证码;essiIBS:13网砧名片 :-lonlhmt个人召层i._拽才李三BPS Bis-T .岳準业進袁1莫斷力Ljts术论坛 衆出弓疸 圖召度1 SO養理菜单mimneiLJ当前登录由户:湘竹隼美伊客用户甬色;管理员tr “ Il*管理人员基亦信息列表.管'理菜单.-m-J n-EHU当前用户r1湘竹集美伊客用户名小强qqqq男21丰机号i4B424Email*修改信息_当前登灵
2、用户:湘竹吏美伊當 用户角色:营理贡当前页:2总页数I孑总记录,1512个人信息IDebug 实验报告(一)院系:信息学院课程名称:信息系统设计与开发(上)日期:班级信 A1022姓名专业信息管理与信息系统学号29实验室701实验名 称Web技术成绩评定教师签名实验目 的1、掌握servlet的配置方法2、掌握请求过滤器用法3、掌握lister 用法实验内 容Servlet 配置常用对象 过滤器的用法实 验 过 程、结 果 及 分 析1、请通过java编与一个客户端,能够把指疋网站,指疋网页中的所有超级连接打印出来import java.io.BufferedReader;import jav
3、a.i o.ln putStreamReader;import java .n et.URL;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Uris private Stri ng startUrl; /开始采集网址String urlC ontent;String Conten tArea;private Stri ng strAreaBegi n, strAreaE nd; /采集区域开始采集字符串和结束采集字符串private String stringlnUrl, stringNot
4、InUrl;Stri ng strCo nte nt;获得的采集内容Stri ng allUrls; /采集到的所有网址private Stri ng regex; /采集规则UrlA ndTitle urlAn dTitle = new UrlA ndTitle(); /存储网址和标题public static void main(String args)Urls myurl = new Urls("<body", "/body");myurl.getStartUrl("");myurl.getUrIC onten t();m
5、yurl.getC onten tArea();myurl.getStri ngl nU rl("");myurl.getStri ngNotl nU rl("google"); myurl.Urls();/ 初始化构造函数 strAreaBegin和strAreaEndpublic Urls(Stri ng strAreaBegi n. String strAreaE nd) this.strAreaBegin = strAreaBegi n;this.strAreaE nd = strAreaE nd;/public void Urls()int i
6、 = 0;/ Stri ng regex ="<a/href="?'?http:/a-zA-Z0-9+.a-zA-Z0-9+.a-zA-Z+/?.?S|s+a>$" final Stri ng regex = "<a.*?/a>"/ String regex ="http:/.*?>"final Pattern pt = Ppile(regex);final Matcher mt = pt.matcher(C onten tArea);while (mt.fi nd() System.o
7、ut.pri ntln( mt.group();i+;/获取标题final Matcher title = Ppile(">.*?</a>").matcher(mt.group();while (title.fi nd() (”标题:"+ title.group().replaceAII(">|</a>","");/获取网址final Matcher myurl = Ppile("href=.*?>").matcher(mt.group(); while (myu
8、rl.fi nd() (”网址:"+ myurl.group().replaceAII("href=|>", "");System.out.pri ntl n();(”共有"+ i + "个符合结果");/获得开始采集网址public void getStartUrl(Stri ng startUrl)this.startUrl = startUrl;/获得网址所在内容;public void getUrlC onten t()Stri ngBuffer is = new Stri ngBuffer();tr
9、y URL myUrl = new URL(startUrl);BufferedReader br = new BufferedReader( new In putStreamReader(myUrl.ope nStream();String s;while (s = br.readL in e() != n ull) is.appe nd(s);urlC on te nt = is.toStri ng(); catch (Excepti on e)System.out.pri ntl n(”网址文件未能输出”);e.pri ntStackTrace();/获得网址所在的匹配区域部分publi
10、c void getC onten tArea()int posl = 0, pos2 = 0;posl = urIC onten t. in dexOf(strAreaBegi n) + strAreaBegi n.len gth();pos2 = urlC onten t.i ndexOf(strAreaE nd, pos1);Conten tArea = urlC onten t.substri ng(pos1, pos2);/以下两个函数获得网址应该要包含的关键字及不能包含的关键字/这里只做初步的实验。后期,保护的关键字及不能包含的关键字应该是不只一个的。public void get
11、StringlnUrl(String stringlnUrl)this.stri nglnUrl = stri nglnUrl;public void getStri ngNotl nUrl(Stri ng stri ngNotI nUrl)this.stri ngNotl nUrl = stri ngNotl nUrl;/获取采集规则/获取url网址public void getUrl()public String getRegex()return regex;class UrlA ndTitle Stri ng myURL;Stri ng title;2、请建立一个servlet类用于显示
12、当前的系统时间public class ss exte nds HttpServlet public void doGet(HttpServletRequest request, HttpServletResponseresponse)throws ServletExcepti on, I OExcepti on this.dopost(request, resp on se);public void doPost(HttpServletRequest request, HttpServletResponseresponse)throws ServletExcepti on, I OExcep
13、ti on Date date=new Date();resp on se.setC onten tType("text/html");Prin tWriter out = resp on se.getWriter();out.pri ntl n("<!DOCTYPE HTML PUBLIC /"-/W3C/DTD HTML 4.01Tran sitio nal/EN/">");out.pri ntln ("<HTML>");out.pri ntl n(”<HEAD><TI
14、TLE>A Servlet</TITLE></HEAD>");out.pri ntln (”<BODY>");out.pri nt("This is ");out.pri nt(this.getClass();out.println(”,using the GET method"+date);out.pri ntln (”</BODY>");out.pri ntln ("</HTML>");out.flush();out.close();实 验 过
15、程、结 果 及 分 析3当用户进入 web应用没有登入时,要求用户必须登入。Sessi onF ilter.java package n et.pms.web.filter;import java.i o.IO Excepti on;import javax.servlet.Filter;import javax.servlet.FilterChai n;import javax.servlet.FilterC on fig; import javax.servlet.ServletExceptio n;import javax.servlet.ServletRequest; import j
16、avax.servlet.ServletResp on se;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResp on se; import javax.servlet.http.HttpServletResp on seWrapper;*/public class Sessi onF ilter impleme nts Filter public static boolea n isC on tain s(Stri ng container. Strin g regx)
17、boolea n result = false;for (int i = 0; i < regx .len gth; i+) if (contain er.i ndexOf(regx) != -1) return true;return result;public FilterC onfig con fig;public void setFilterC on fig(FilterC onfig con fig) this.c onfig = con fig;public FilterConfig getFilterConfig() retur n con fig;public void
18、doFilter(ServletRequest request, ServletResp onse resp on se, FilterChain chain) throws lOException, ServletExcepti on HttpServletRequest httpreq = (HttpServletRequest) request; HttpServletResp onse httpres = (HttpServletResp on se) resp on se;HttpServletResp on seWrapper wrapper = newHttpServletRes
19、p on seWrapper(HttpServletResp on se) resp on se); Stringlogo nStri ngs= con fig.get In itParameter("logo nStri ngs");String includeStrings =con fig.getI nitParameter("i ncludeStri ngs");Stri ng redirectPath = httpreq.getC on textPath()+con fig.getI nitParameter("redirectPat
20、h");String disabletestfilter =con fig.getI nitParameter("disabletestfilter");if (disabletestfilter.toUpperCase().equals("Y") cha in. doFilter(request, resp on se);return;Strin g logo nList = logo nStri ngs.split("");Strin g in cludeList = in cludeStri ngs.split(&qu
21、ot;");Object user = httpreq.getSessi on( ).getAttribute("useri nfo");if (user = nu II) if (!this.isCo nta in s(httpreq.getRequestURI(),in cludeList) cha in. doFilter(request, resp on se); return;if (this.isCo ntai ns(httpreq.getRequestURI(),logo nList) cha in. doFilter(request, resp o
22、n se); return;wrapper.se ndRedirect(redirectPath); else cha in. doFilter(request, resp on se);public void destroy() this.c onfig = n ull;public void in it(FilterC onfig filterC on fig) throws ServletExceptio n this.c onfig = filterC on fig;4.配置Servlet 过滤器在 web.xml 中:<filter><filter- name>
23、;Sessi onF ilter</filter- name<filter-class >n et.pms.web.filter.Sessi onF ilter</filter-class> <in it-param><param-n ame>log on Stri ngs</param-n ame> <param-value>logi n.jsp</param-value></in it-param><in it-param><param-n ame> in clud
24、eStri ngs</param-n ame> <param-value>.jsp;.html</param-value></in it-param><in it-param><param-n ame>redirectPath</param-n ame> <param-value>/logi n.jsp</param-value></in it-param><in it-param><param-n ame>disabletestfilter</
25、param-n ame> <param-value>N</param-value></in it-param></filter><filter-mapp ing><filter- name>Sessi onF ilter</filter- name<url-patter n> /*</url-patter n></filter-mappi ng>4、请设计一种机制进行网站访问者统计package com.wjl;import java.io .IO Exception;imp
26、ort java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;实 验 过 程、结 果 及 分 析public class Count extends HttpServletpublic void doGe
27、t(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException/得到当前web应用程序的上下文ServletContext context=this.getServletContext();/取岀当前保存的属性/如果此页面是第一次被访问,那些count为空,我们帮他初始化为1 /如果不是第一次被访问,那么就加1Integer count=(lnteger)context.getAttribute("count");if(count=null)coun
28、t=new Integer(1);elsecount=new Integer(Value()+1);/设置编码,不然中文会变成乱码response.setContentType("text/html;charset=GB2312");/得到输岀流对象PrintWriter out=response.getWriter();out.println("vhtml><head>vtitle>");out.println(”页面访问统计");out.println("v/title>v/head
29、>vbody>");out.println(”当前页面被访问了 ");out.println("vfont color=red size=20>"+count+"v/font>次");/设置属性,将count保存到当前的上下文中/context.setAttribute("count",count);session.setAttribute("count",count);session.setAttribute("ip",getRemortlP(req
30、uest);out.close();这种方式是用上下文进行记录的,缺点是每次刷新都会增加一,下面看防止刷新的。每个客户端 只记录一次。package com.wjl;import java.io .IO Exception;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRes
31、ponse;import javax.servlet.http.HttpSession;public class Count extends HttpServletpublic void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException/*/得到当前web应用程序的上下文ServletContext context=this.getServletContext();/取岀当前保存的属性/如果此页面是第一次被访问,那些count为空,我们帮他初始化为
32、1/如果不是第一次被访问,那么就加1Integer count=(Integer)context.getAttribute("count");if(count=null)count=new Integer(1);elsecount=new lnteger(Value()+1);*/上面的方式是放到了 context中,我可以放到 session中HttpSession session=request.getSession();Integer count = (lnteger)session.getAttribute("count");i
33、f(count=null)count = 1;elseif(session.getAttribute("ip")!=null&& !session.getAttribute("ip").equals(getRemortlP(request)count = new Integer(Value()+1;/设置编码,不然中文会变成乱码response.setContentType("text/html;charset=GB2312");/得到输岀流对象PrintWriter out=response.get
34、Writer();out.println("vhtml><head>vtitle>");out.println(”页面访问统计");out.println("</title>v/head><body>");out.println(”当前页面被访问了 ");out.println("<font color=red size=20>"+count+"</font>次");/设置属性,将count保存到当前的上下文中/con
35、text.setAttribute("count",count);session.setAttribute("count",count);session.setAttribute("ip",getRemortIP(request);out.close();/*获得客户端ip* param request* return*/public String getRemortlP(HttpServletRequest request) if (request.getHeader("x-forwarded-for") = n
36、ull) return request.getRemoteAddr();return request.getHeader("x-forwarded-for");实验报告(二)院系:信息学院课程名称:信息系统设计与开发(上)日期:班级信 A1022姓名专业信息管理与信息系统学号29实验室701实 验 名 称Struts框架的结构成绩评定教师签名实 验 目 的1、掌握struts 框架的基本jar包2、掌握struts应用的基本流程3、掌握 web.xml 和 struts.xml 及 action 类的与法4 、掌握MVC莫式的系统设计思路实 验 内 容Struts应用的写法
37、一、创建一个struts技术的用户登入系统,当用户输入用户名是张三、密码是 12345,就进入欢迎页面。否则继续输入1、strtus 应用需要的那些jar包? ( 10分)3、用户登入界面的设计(20分)实 验 过 程、结 果 及 分 析Logi n.jsp</ h2>method ="post"<s:formaction="Logi nActi on"n amespace="/logi n"><s:textfieldn ame = "nameL label ="登录名称"s
38、ize ="15"/><s:passwordn ame = "pwd"label ="登录密码"size ="15"/><s:submitvalue ="登录”/>vbody style ="backgro un d-image: url('images/bg-0414.gif')">vcen ter ><br ><h2 >用户登录</ s:form ></ center ><
39、;/ body >3、web.xml 配置 20 分)<?xml versio n="1.0" en codi ng="UTF-8"?> vweb-app versi on="2.5"xmln s=""xml ns:xsi二"" xsi:schemaLocati on=""><welcome-><welcome-</welcome-file>v/welcome->vfilter>vfilter- name>
40、;struts2</filter- name> vfilter-class>org.apache.struts2.dispatcher. ng.filter.StrutsPrepareA ndExecuteFilter</filter-class></filter>vfilter-mapp ing><filter- name>struts2</filter- name> <url-pattern>/*</url-pattern> v/filter-mapp in g></web-app&
41、gt;5、登录action的业务类设计(30分)package com;import java.util.Map;import com.ope nsymph on y.xwork2.Actio nSupport;import com.ope nsymph ony .xwork2.Acti onCon text; SuppressWar nin gs("serial")public class Log inAction exte nds Action Supportprivate String name;private String pwd;public String get
42、Name() return n ame;public void setName(Stri ng n ame) 实 验 过 程、结 果 及 分 析this. name = n ame;public Stri ng getPwd() return pwd;public void setPwd(Stri ng pwd) this.pwd = pwd;SuppressWar nin gs(" un checked") public String checkLogi n()System.out.pri ntln("* name="+name);/ 获得把登录名称放
43、入把登录名称放入ActionCon textac=Acti onCon text.getC on text();Acti onCon textSuppressWar nin gs(" unu sed")Map app=ac.getApplicati on();ac.getSessi on( ).put("logi n", this .n ame);/session 中ac.getApplicati on( ).put("logi n", this .n ame); / applicati on 中return SUCCESS;实验报告
44、(三)院系:信息学院课程名称:信息系统设计与开发(上)日期:班级姓名专业信息管理与信息系统学号29实验室701实验名称OGNL成绩评定教师签名实验目的1掌握OGN的应用场景2、掌握ognl访冋属性、访冋方法、访冋数组、访冋集合等方法实验内容常用的标签的使用OGNL表达式的使用实 验 过 程、结 果 及 分 析已知OgnlAction类的结构如下:public class OgnlAction exte nds Acti on Support private Cat cat;private MapvString, Dog> dogMap = newHashMapvString, Dog&g
45、t;();private Set<Dog> dogs = new HashSet<Dog>();private String password;private User user;private String user name;private List<User> users = new ArrayList<User>();public Ogn lActio n() users.add( new User(1);users.add( new User(2);users.add( new User(3);dogs.add(new Dog(&quo
46、t;dog1");dogs.add( new Dog("dog2");dogs.add( new Dog("dog3");实 验 过 程、结 果 及 分 析dogMap.put("dog100", new Dog("dog100");dogMap.put("dog101", new Dog("dog101");dogMap.put("dog102", new Dog("dog102");dog类定义如下:public clas
47、s Dog private String name;public Dog() public Dog(Stri ng n ame) super();this. name = n ame;public Stri ng getName() return n ame;public void setName(Stri ng n ame) this. name = n ame;Overridepublic String toString() retur n "dog: " + n ame;该OgnIAction的配置如下:<action name="ognl"
48、 class="com.bjsxt.struts2.ognl.OgnlAction"><result>/og nl.jsp</result></act ion>现在请设计ognl.jsp将OgnlAction类中的所有对象全部显示出来实 验 过 程、结 果 及 分 析实验报告(四)院系:信息学院课程名称:信息系统设计与开发(上)日期:班级姓名专业信息管理与信息系统学号29实验室701实验名称拦截器成绩评定教师签名实验目的掌握拦截器的用法实验内容Strusts拦截器的定义与使用;自定义拦截器;拦截器执行过程;拦截结果监听器实 验 过
49、程、结 果 及 分 析1、请设计一个拦截器用来计算action类的响应时间package tmq.acti on;importcom.ope nsymph on y.xwork2.Actio nSupport;public class TimerI nterceptorActi onexte ndsActi on SupportpublicStr ing execute()try /模拟系统运行时消耗的时间Thread. sleep (1000); catch (Exception e)e.pr in tStackTrace(); returnthis . SUCCESS配置文件中的配置如下&
50、lt;!-耗时拦截器配置->< actio nn ame = "timeri nterceptor"class ="tmq.actio n.Timerl nterceptorActio n"><resultname = "success" >/success.jsp</ result >vin terceptor-refn ame ="timer"/></ action >实 验 过 程、结 果 及 分 析2、方法拦截器的使用,已知存在一个public c
51、lass MethodActi on exte nds Action Support public String m1() throws Exception return SUCCESS;public String m2() throws Excepti on return SUCCESS;public String m3() throws Excepti on return SUCCESS;public String m4() throws Excepti on return SUCCESS;请疋义一个方法拦截器用来拦截m1 m2方法配置文件配置如下:<!-方法过滤拦截器配置->
52、vin terceptorn ame ="method In terceptor"class ="tmq.i nterceptor.Methodl nterceptor"/><!-方法过滤配置Action ,默认执行方法execute-vacti onn ame ="method"class ="tmq.actio n. MethodActio n">vresultname="success" >/login.jsp</ result >vresultname
53、="login">/login.jsp</ result ><!-使用方法过滤拦截器->vin terceptor-refn ame = "method In terceptor"><!- 指疋execute 方法不被拦截-> vparam name = "includeMethods">m1v/ param >vparamname = "includeMethods">m2v/ param >v/ interceptor-ref>v!-
54、引用系统默认拦截器->vinterceptor-ref28 / 56 name = "defaultStack"/>v/ action >实验报告(五)院系:信息学院课程名称:信息系统设计与开发(上)日期:班级姓名专业信息管理与信息系统学号29实验室701实 验 名 称成绩评定实例开发教师签名实验 目熟悉并掌握java web框架设计的实验 内用户注册系统容登录模块:In dex.jsp<%page language ="java"import ="java.util.*"pageEncoding="
55、UTF-8" %><%aglibprefix ="s" uri ="/struts-tags"%>实 验 过 程、<%String path = request.getContextPath();String basePath =request.getScheme()+":/"+request.getServerName()+":" +request.getServerPort()+path+%>"/"结 果 及 分 析<! DOCTYPE HTML
56、 PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html ><head ><meta http-equiv= "Content-Type"content ="text/html; charset=utf-8"/><title > Skiyo后台管理工作平台 by Jessica</ title><link rel ="stylesheet"type ="text/css"href
57、="css/style.css"/><scripttype ="text/javascript"src ="js/js.js"></ script ></ head ><body ><div id ="top" > </ div ><imgsrc="images/dl.gif"width="57"onclick="form submit。" > </div>
58、; -><div id ="center_submit"><div class ="button" ><imgsrc="images/dl.gif"width="57"height="20"onclick ="form_submit()" ></ div><div class ="button" ><imgsrc="images/cz.gif"width= &quo
59、t;57"height="20"onclick ="form reset() " > </div ></ div >height="20"<form id ="login" name="login" action ="Login.action"method ="post" ><div id="center"><divid = "center_.left&qu
60、ot;></ div ><divid = "center_middle"><!-<s:textfield name="name" label="登录名称 ” size="15" id="user" /><input type="text"name="user" id="user" /><s:password name="pwd" label="登录密码
61、"size="15" id="user"/>密码:<label><inputtype="password" name="pwd" id="pwd" /></label><s:submit value=" 登录"/>><div class ="user" ><s:textfield</ div ><s:password</ div >name="username"<div class ="user"namepassword"key ="username">label ="登录密码"size ="15" id ="user
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《成人住院患者静脉血栓栓塞症风险评估技术》
- 最佳复习方式CPSM考试试题及答案
- 深入复习关键主题CPMM试题及答案
- 2025年各类型加速器(含高压倍加器)项目合作计划书
- 中班防水防溺水课件
- 2024年CPSM考试全方位试题及答案
- 2025年矿产地质堪查服务项目建议书
- 动植物的生物化学特征及其应用试题及答案
- 2025年药用空心胶囊项目合作计划书
- 2024年CPSM考生分享会试题及答案
- 第8课《建设法治中国》第1框《科学立法严格执法公正司法全民守法》-【中职专用】《职业道德与法治》同步课堂课件
- SY-T 6966-2023 输油气管道工程安全仪表系统设计规范
- 2024年信阳职业技术学院单招职业技能测试题库及答案解析
- 2024年广东东莞市公安局石排分局辅警招聘笔试参考题库附带答案详解
- 乳果糖使用说明书
- 小学数学计算专项训练之乘法分配律(提公因数)
- 陕西省2023年中考英语试题(附真题答案)
- 食管胃底静脉曲张护理
- DB32-T 2283-2024 公路工程水泥搅拌桩成桩质量检测规程
- 基于3D打印的机械零件轻量化设计与制造
- 文言文《守株待兔》说课稿
评论
0/150
提交评论