`
jinjiankang
  • 浏览: 113379 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JspRun 源代码学习(二)

阅读更多

(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()方法处理后者的登录。

7
0
分享到:
评论
1 楼 yangsmallu 2012-11-18  
楼主没看透彻呀

相关推荐

    JspRun 项目和文档

    JspRun是一个流行的开源论坛系统,它基于Java Servlet和JSP技术,用于构建社区网站。...通过深入研究JspRun的源代码、文档和实际运行,开发者不仅可以掌握论坛系统的实现,还能进一步提升Java Web开发技能。

    JSP开源论坛JspRun

    开源意味着JspRun的源代码是公开的,用户可以免费下载、使用、修改和分发,这为开发者提供了高度的灵活性和定制性。 JspRun作为一款成熟的论坛软件,包含了众多核心功能,如用户注册登录、发帖回帖、主题分类、用户...

    JspRun!_6.0.0_Source

    通过分析和学习其源代码,我们可以了解到许多关于JSP、Servlet、JavaBean、MVC设计模式以及数据库交互等核心IT知识。 1. **JSP(JavaServer Pages)技术**:JSP是Java平台上的动态网页技术,它允许开发者将HTML代码...

    个人(jsprun)bbs论坛源码

    对这些源代码进行研究和学习,可以加深对论坛开发的理解,甚至为自定义开发或二次开发提供基础。 总而言之,【个人(jsprun)bbs论坛源码】是一个包含用户管理、内容发布、权限控制、交互功能等多个层面的复杂系统...

    JspRun6.0源码.rar

    通过学习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 ...

    JspRun!社区论坛系统 v6.0 UTF-8 安装版(毕设 + 课设).zip

    SyntaxHighlighter是一个流行的代码高亮插件,用于在论坛上展示源代码时进行语法着色,使得代码阅读更加清晰易懂。这对于技术讨论和问题解决是非常有用的。 此外,我们还注意到一个名为ipdata.Dat的文件,它通常...

    [论坛社区]JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 20100105 正式版.rar

    JspRun! 社区论坛系统是一款基于Java技术开发的开源论坛软件,广泛应用于搭建互联网社区平台。...通过深入学习和理解源代码,开发者可以更好地掌握Java Web开发技术,同时提升自身在社区建设领域的专业技能。

    [论坛社区]JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 091116utf8.zip

    社区论坛系统】是一个基于Java和JSP技术构建的开源社区论坛系统,其版本v6.0 UTF-8 源码版 Bulid 091116utf8.zip提供了完整的源代码,非常适合Java学习者,尤其是对于进行毕业设计的学生来说,是一个宝贵的实践和...

    [论坛社区]JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 20100203 正式版.rar

    可能采用了模板引擎,允许开发者和管理员通过修改模板文件来改变论坛的外观,而无需深入到源代码层次。 7. **权限控制**:论坛系统需要有完善的权限管理,包括用户注册、登录、权限分配、角色管理等。JspRun! 的...

    Tomcat6.0.41源代码,可直接导入Eclipse

    总结,Apache Tomcat 6.0.41源代码的获取和研究为开发者提供了一个深入学习Web服务器工作原理的机会。通过Eclipse的集成开发环境,我们可以更方便地编译、运行和调试源代码,从而提升对Java Web应用开发的理解和技能...

    [论坛社区]JspRun!社区论坛系统 v6.0 GBK 源码版 Bulid 20100105 正式版(毕设 + 课设).zip

    源码版适合学生进行毕业设计或课程设计,因为它提供了完整的论坛功能,学生可以通过学习源代码了解Web应用的开发流程,掌握Java Web技术,包括JSP、Servlet、数据库操作、MVC模式等。 5. **开发与部署**: 开发者...

    tomcat6源代码 eclipse导出工程

    5. **学习与修改**:有了源代码,你可以深入研究Tomcat的组件,例如Catalina(核心引擎)、 Coyote(HTTP连接器)和Jasper(JSP引擎)。了解这些组件如何协同工作,有助于提升对Web应用服务器的理解,并能针对性地...

    JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 20100105 正式版(毕设 + 课设).zip

    3. **源码版**:提供完整的源代码,开发者可以深入了解系统内部实现,进行二次开发或学习研究。 4. **论坛系统架构**:JspRun!论坛系统通常包括用户模块、论坛模块、管理模块等。从提供的文件名可以看出,系统包含...

    JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 20100203 正式版(毕设 + 课设).zip

    包含以下几个核心功能模块的源代码: 1. **PostManageAction**: 这个类与帖子管理相关,可能涉及到用户发布、编辑、删除帖子的功能实现。开发者可以通过这个类了解如何处理论坛中的帖子操作,包括后台管理接口和...

    JAVA 企业门户网站源代码

    综上所述,【JAVA企业门户网站源代码】项目涵盖了JAVA Web开发的多个层面,包括前端展示、后端逻辑、数据库设计以及开发工具的使用,为学习和实践JAVA Web提供了丰富的素材。通过深入研究这个项目,开发者不仅可以...

    JSP七个小项目代码和笔记汇总(java+web).rar

    使用说明书.chm”的帮助文档以及“JSP七个小项目代码和笔记汇总(java web)”的源代码和学习笔记。通过这两个部分,我们可以深入理解JSP在实际开发中的应用,以及如何将Java编程语言与Web技术结合使用。 1. **JspRun...

    java课程设计资料以及源代码

    Java课程设计资料以及源代码是针对Java编程爱好者和学习者的一份宝贵资源,它涵盖了J2EE、Java和JSP等关键领域的知识。这些技术在现代企业级应用开发中占据了重要地位,对于深入理解Java全栈开发至关重要。 首先,...

    电子商城源代码和数据库

    这个“电子商城源代码和数据库”项目显然利用了这两种技术,结合MySQL数据库,来搭建了一个完整的在线购物平台。下面将详细讨论相关知识点。 1. **Java与JSP**: Java是一种广泛使用的后端编程语言,以其"Write Once...

    用IDEA IntelliJ创建Web项目工程教程+源代码

    本教程将深入讲解如何利用IntelliJ IDEA创建一个完整的Java Web项目,并提供源代码供学习参考。 首先,我们需要了解Java Web项目的组成部分。它通常包含前端资源(HTML、CSS、JavaScript)、后端服务器逻辑(Java ...

Global site tag (gtag.js) - Google Analytics