(1)关于Cookie
Cookie,服务器端保存在客户端的“小甜点”。通俗点讲,就是多个key-value对。
我们先观察一下JspRun官方论坛
保存在客户端的Cookie。假设你已经注册了其会员。通过Firefox菜单:工具-选项-隐私-显示Cookie,删除jsprun.net相关的Cookie。登录该论坛(当前时间2009.8.13 15:35左右),再观察jsprun.net相关的Cookie:
名称:jrun_auth
内容:5109c942c15e4accb7bfd0b429acef28
主机:www.jsprun.net
路径:/
发送条件:任意类型的连接
过期时间:2009年9月12日 15:35:22
名称:jrun_cookietime
内容:2592000
主机:www.jsprun.net
路径:/
发送条件:任意类型的连接
过期时间:2010年8月13日 15:35:22
名称:jrun_uid
内容:4231
主机:www.jsprun.net
路径:/
发送条件:任意类型的连接
过期时间:2009年9月12日 15:35:22
名称:jrun_onlineusernum
内容:215
主机:www.jsprun.net
路径:/
发送条件:任意类型的连接
过期时间:2009年8月13日 15:37:08
名称:jrun_sid
内容:IyFzAq
主机:www.jsprun.net
路径:/
发送条件:任意类型的连接
过期时间:2009年8月20日 15:32:08
名称:JSESSIONID
内容:E71985727CE4C6126303B8EAFF58E256
主机:www.jsprun.net
路径:/
发送条件:任意类型的连接
过期时间:当会话结束时
(2) struts 版本
JspRun 6.0.0 使用的struts版本为1.2.7。
(3)web.xml
过滤器cn.jsprun.filter.EncodingFilter用于设置JspRun应用中所有(*.jsp、*.do和*.html)请求与响应的字符集。
当请求的URL匹配/admin/*、/basicsettings.do等特征时,过滤器cn.jsprun.filter.AdmincpFilter起作用。进行过滤:如果session域中"members"属性值为null,则将请求重定向
到/admincp.jsp,且不再走以后的过滤器;否则,进入下一个过滤器。可以猜测,该过滤器是在判断当前的操作者是系统管理员,还是非管理员。(注:关于request域和session域中的全部属性,之后将单独讨论)
过滤器cn.jsprun.filter.OnlineFilter适用于JspRun应用中所有(*.jsp、*.do和*.html)请求。该过滤器的内容很多,暂且不说。securitymessage()方法中,
attachsave_1_subject=频繁刷新限制
attachsave_1_message=您访问本站速度过快或者刷新间隔时间小于两秒!请等待页面自动跳转...
attachsave_2_subject=代理服务器访问限制
attachsave_2_message=本站现在限制使用代理服务器访问,请去除您的代理设置,直接访问本站。
attachsave_4_subject=页面重载开启
attachsave_4_message=欢迎光临本站,页面正在重新载入,请稍候 ...
过滤器cn.jsprun.filter.FileCaptureFilter,暂时没有理解,暂且不说。
过滤器cn.jsprun.filter.ArchiverFilter,暂时没有理解,暂且不说。
过滤器org.tuckey.web.filters.urlrewrite.UrlRewriteFilter,使用了第三方框架。其配置文件见WEB-INF/urlrewrite.xml
过滤器cn.jsprun.filter.RefuseAccessFilter,拒绝访问:/forumdata/logs/*、/templates/*、/include/crons/*、/include/magics/*和*.properties
(4) 从登录开始
有两个登录方法:首页左上角的登录,和点击首页“登录”链接。
前者的表单:<form id="loginform" action="logging.jsp?action=login&loginsubmit=true" name="login" method="post">
后者的表单:<form action="logging.jsp?action=login" name="login" method="post">
点击登录后,由:D:\JspRun6.0.0\apache-tomcat-6.0.18\webapps\ROOT\logging.jsp 处理,logging.jsp使用了JSTL核心标签库。先不用查核心标签库文档,猜一下:
如果是前者的表单,则对应:
<c:when test="${action=='login'&& param.loginsubmit!=null}">
<jsp:forward page="/logging.do?action=login" />
</c:when>
如果是后者的表单,则对应:
<c:when test="${action=='login'&& param.loginsubmit==null}">
<jsp:forward page="/logging.do?action=toLogin" />
</c:when>
再查询WEB-INF\struts-config.xml:
搜索/logging,查询处理登录的Action:
<action validate="false" parameter="action" path="/logging" type="cn.jsprun.struts.foreg.actions.LoggingManageAction" scope="request">
<forward name="toLogin" path="/templates/default/login.jsp" />
<forward name="toLogin_secques" path="/templates/default/login_secques.jsp" />
<forward name="toIndex" path="/templates/default/index.jsp" />
</action>
cn.jsprun.struts.foreg.actions.LoggingManageAction.login()方法处理前者的登录,toLogin()方法处理后者的登录。
分享到:
相关推荐
JspRun是一个流行的开源论坛系统,它基于Java Servlet和JSP技术,用于构建社区网站。...通过深入研究JspRun的源代码、文档和实际运行,开发者不仅可以掌握论坛系统的实现,还能进一步提升Java Web开发技能。
开源意味着JspRun的源代码是公开的,用户可以免费下载、使用、修改和分发,这为开发者提供了高度的灵活性和定制性。 JspRun作为一款成熟的论坛软件,包含了众多核心功能,如用户注册登录、发帖回帖、主题分类、用户...
通过分析和学习其源代码,我们可以了解到许多关于JSP、Servlet、JavaBean、MVC设计模式以及数据库交互等核心IT知识。 1. **JSP(JavaServer Pages)技术**:JSP是Java平台上的动态网页技术,它允许开发者将HTML代码...
对这些源代码进行研究和学习,可以加深对论坛开发的理解,甚至为自定义开发或二次开发提供基础。 总而言之,【个人(jsprun)bbs论坛源码】是一个包含用户管理、内容发布、权限控制、交互功能等多个层面的复杂系统...
通过学习JspRun6.0的源代码,开发者可以深入理解如何在实际项目中运用这些概念,提高自己的编程技能。 2. **Servlet与JSP技术** JspRun6.0的核心是基于Servlet和JSP的Web应用程序。Servlet负责服务器端的业务逻辑...
机器学习实战的配套源代码,按照图书的章节提供。 This is the source code to go with "Machine Learning in Action" by Peter Harrington published by Manning Inc. The official page for this book can be ...
SyntaxHighlighter是一个流行的代码高亮插件,用于在论坛上展示源代码时进行语法着色,使得代码阅读更加清晰易懂。这对于技术讨论和问题解决是非常有用的。 此外,我们还注意到一个名为ipdata.Dat的文件,它通常...
JspRun! 社区论坛系统是一款基于Java技术开发的开源论坛软件,广泛应用于搭建互联网社区平台。...通过深入学习和理解源代码,开发者可以更好地掌握Java Web开发技术,同时提升自身在社区建设领域的专业技能。
社区论坛系统】是一个基于Java和JSP技术构建的开源社区论坛系统,其版本v6.0 UTF-8 源码版 Bulid 091116utf8.zip提供了完整的源代码,非常适合Java学习者,尤其是对于进行毕业设计的学生来说,是一个宝贵的实践和...
可能采用了模板引擎,允许开发者和管理员通过修改模板文件来改变论坛的外观,而无需深入到源代码层次。 7. **权限控制**:论坛系统需要有完善的权限管理,包括用户注册、登录、权限分配、角色管理等。JspRun! 的...
总结,Apache Tomcat 6.0.41源代码的获取和研究为开发者提供了一个深入学习Web服务器工作原理的机会。通过Eclipse的集成开发环境,我们可以更方便地编译、运行和调试源代码,从而提升对Java Web应用开发的理解和技能...
源码版适合学生进行毕业设计或课程设计,因为它提供了完整的论坛功能,学生可以通过学习源代码了解Web应用的开发流程,掌握Java Web技术,包括JSP、Servlet、数据库操作、MVC模式等。 5. **开发与部署**: 开发者...
5. **学习与修改**:有了源代码,你可以深入研究Tomcat的组件,例如Catalina(核心引擎)、 Coyote(HTTP连接器)和Jasper(JSP引擎)。了解这些组件如何协同工作,有助于提升对Web应用服务器的理解,并能针对性地...
3. **源码版**:提供完整的源代码,开发者可以深入了解系统内部实现,进行二次开发或学习研究。 4. **论坛系统架构**:JspRun!论坛系统通常包括用户模块、论坛模块、管理模块等。从提供的文件名可以看出,系统包含...
包含以下几个核心功能模块的源代码: 1. **PostManageAction**: 这个类与帖子管理相关,可能涉及到用户发布、编辑、删除帖子的功能实现。开发者可以通过这个类了解如何处理论坛中的帖子操作,包括后台管理接口和...
综上所述,【JAVA企业门户网站源代码】项目涵盖了JAVA Web开发的多个层面,包括前端展示、后端逻辑、数据库设计以及开发工具的使用,为学习和实践JAVA Web提供了丰富的素材。通过深入研究这个项目,开发者不仅可以...
使用说明书.chm”的帮助文档以及“JSP七个小项目代码和笔记汇总(java web)”的源代码和学习笔记。通过这两个部分,我们可以深入理解JSP在实际开发中的应用,以及如何将Java编程语言与Web技术结合使用。 1. **JspRun...
Java课程设计资料以及源代码是针对Java编程爱好者和学习者的一份宝贵资源,它涵盖了J2EE、Java和JSP等关键领域的知识。这些技术在现代企业级应用开发中占据了重要地位,对于深入理解Java全栈开发至关重要。 首先,...
这个“电子商城源代码和数据库”项目显然利用了这两种技术,结合MySQL数据库,来搭建了一个完整的在线购物平台。下面将详细讨论相关知识点。 1. **Java与JSP**: Java是一种广泛使用的后端编程语言,以其"Write Once...
本教程将深入讲解如何利用IntelliJ IDEA创建一个完整的Java Web项目,并提供源代码供学习参考。 首先,我们需要了解Java Web项目的组成部分。它通常包含前端资源(HTML、CSS、JavaScript)、后端服务器逻辑(Java ...