`
ablackrock
  • 浏览: 564 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

纯 JSP 网站编程 - 一种思想以及 EasyJForum 的实现

JSP 
阅读更多

在 Web 网站开发领域,PHP 似乎大有一统江湖的趋势,以至于我这个多年的 JSP 老手也准备考虑使用 PHP 来扩展我的网站了。在学习了一番 PHP 语言之后,我决定还是留在 JSP 这里 -- 我实在是不喜欢 PHP 中的那些像垃圾一样到处散布的 $ 和 " 符号了,要知道,HTML 代码本来就很杂乱了。也许是我有代码洁癖吧,不过我认为 JSP 至少在代码的可读性上要好于 PHP。

那些使用 PHP 的人经常说 PHP 比较简单,容易上手 -- 可能吧,不过对于我来说,JSP 已经简单得不能再简单了。Java 这种语言比较令人可惜的一点是,其简单性被太多的人滥用,导致其似乎变得很复杂了,而事实并非如此。有经验的人总是能迅速穿过嘈杂的大厅,直达绿草茵茵的目的地 - 不要被 Java 领域那些名目繁多的各种框架所吓倒,那都是一些具有设计癖(程序猿多少都有这样的癖好)的人自娱自乐的玩具而已,不必理会。关注基础性技术,直截了当地解决问题就行了。要知道,Java 只是你解决问题的时候需要用到的几十种工具之一而已,不必在此翻太多的跟斗。

不过,经过多年的实践,我发现 JSP 确实有如下两点不如 PHP 的地方:

1、每次修改了后台的 Java 类之后都要重启应用,这降低了 JSP 作为 Web 开发语言的易用性。对 Java 类进行及时编译和加载是不难实现的,但这必然会降低性能。所以 JSP/Java 更适合于开发复杂的、不需要经常改变网页的企业级应用。

2、JSP 页面中不能定义和共享全局函数,全局变量则必须放在 Application 对象中,这使得 JSP 不能作为一种独立的脚本语言来使用,而必须搭配后台 Java 类来完成任务。(据说 JDK 8 将会支持函数式编程,这可能给 JSP 带来定义全局函数的能力,从而获得新的发展)

好在 Java 是一种强大的语言,通过不长时间的考虑,我很快找到了克服上述两个问题的方法:

1、将 Web 开发常用的一些对象和方法整理封装在几个 Java 工具类中,然后在 JSP 中调用这些方法,尽量不要再创建新的 Java 类和 Servlet,这样至少可以最大限度地减少需要重启应用的次数。

2、对于某些 JSP 页面需要使用局部函数的地方,可以使用 <%! ... %>  来进行定义。如果需要使用全局函数,可以使用一个已经预先定义好的适用于 Web 网页的接口,通过定义一个接口对象并放到 Application 对象中来实现。代码范例如下:

// 下面的代码可以放在一个公共的 JSP 文件中,然后使用 <jsp:include ... /> 来引入到需要的 JSP 文件中
IPageInvoker method1 = (IPageInvoker)application.getAttribute("method1");
if (method1 == null) {
    method1= new IPageInvoker() {
        public Object exec(HttpServletRequest request, HttpServletResponse response) throws Exception {
             System.out.println(“method1 exec”);
             return "OK";
        }
    };
    application.setAttribute("method1", method1);
}

// 在 JSP 文件中调用全局函数
IPageInvoker method1 = (IPageInvoker)application.getAttribute("method1");
Object ret = method1.exec(request, response);
……

作为上述方法的一种实现,从 3.2 版本开始,EasyJForum 的类被进行了重新整理,使之不仅被用于论坛本身,而且可以被用于任意 JSP 站点网页。对于除了论坛之外其它功能比较简单的站点来说,使用 EasyJForum 包 + JSP 就可以解决一切问题了,这就是我们的目标。对于比较复杂的交互式站点,你可能还是需要进行定制,再增加一些其它的 Java 类,不过上述的思想应该仍然是适用的。

这就是 EasyJForum 所要为您提供的新的价值。

关于如何使用 EasyJForum 实现纯 JSP 式的网站编程,请参考:基于 EasyJForum 的 JSP 网站编程指南

 

分享到:
评论

相关推荐

    jsp编程实例--编程实现用户登录

    jsp编程实例--编程实现用户登录 jsp(Java Server Pages)是一种服务器端脚本语言,用于生成动态网页。下面是通过jsp实现用户登录的实例。 一、jsp简介 jsp是一种基于Java的服务器端脚本语言,由Sun Microsystems...

    jsp高级编程--jsp基础&&jsp高级应用

    第一部分 jsp入门 第一章 概述 第二章 预备知识 第三章 jsp开发平台的建立--tomcat 第四章 jsp的语法和语义 第五章 作为xml的jsp 第六章 jsp基础实例 第七章 用jsp实现常见的web应用 第二部分 高级jsp技术 ...

    JSP高级编程---

    在IT领域,JSP(JavaServer Pages)是一种用于创建动态网页的技术,由Sun Microsystems(现为Oracle公司)开发。JSP允许开发者将静态内容(HTML、CSS、JavaScript)与动态服务器端代码结合在一起,以便在服务器上...

    jsp-api-2.2-sources.jar

    jsp-api-2.2-sources.jar

    JSP 完全探索-网络编程-

    **JSP(JavaServer Pages)完全探索:网络编程** JSP是Java平台上的一个服务器端技术,用于创建动态网页和Web应用程序。它结合了HTML、Java代码和脚本元素,使得开发者可以在服务器端处理数据并生成响应,然后将...

    JSP编程 J2EE-JSP-10ppt.rar

    JSP编程 J2EE-JSP-10ppt.rar

    jsp网络编程程序--输出100内整数的和

    jsp入门jsp网络编程程序--输出100内整数的和

    jsp实现计算器--韩顺平

    【标题】"jsp实现计算器--韩顺平"指的是使用JavaServer Pages(JSP)技术来构建一个在线计算器应用。韩顺平是一位知名的IT教育专家,他通过实例教学帮助初学者理解JSP编程。 【描述】提到的两种方法: 1. **两页法*...

    编程项目实战Java-jsp:jsp+servlet+javaBean实现MVC

    编程项目实战Java-jsp:jsp+servlet+javaBean实现MVC; 编程项目实战Java-jsp:jsp+servlet+javaBean实现MVC; 编程项目实战Java-jsp:jsp+servlet+javaBean实现MVC; 编程项目实战Java-jsp:jsp+servlet+javaBean...

    《Jsp 网站编程教程》

    《Jsp 网站编程教程》是一份深度涵盖JSP(Java Server Pages)技术的资源宝典,包含228个精心挑选的网站编程实例,旨在帮助开发者全面掌握JSP在构建动态网站中的应用。这份教程是学习JSP设计与开发的不可多得的辅助...

    javax.servlet.jsp.jstl-api-1.2.1.jar

    javax.servlet.jsp.jstl-api-1.2.1.jar

    原生jsp进行Web编程—作业3-JSP内置对象-Part2

    一、JSP内置对象练习 1、使用JSP中的session对象,实现用户登陆检验 (1)(1)web目录下的session-login目录中,新建login.jsp(允许用户输入用户名和密码), 在usercheck.jsp中进行验证,成功则显示index.jsp...

    编程之道JSP数据库编程入门

    【编程之道JSP数据库编程入门】是一本专为初学者设计的教程,旨在引导读者进入JSP(JavaServer Pages)与数据库结合的编程世界。JSP是Java平台上的动态网页技术,它允许开发者在HTML代码中嵌入Java代码,从而实现...

    JSP课后编程题答案1-6章

    这一章通常会介绍JSP的基本概念,包括JSP页面的结构、生命周期、以及JSP的组成部分如指令、脚本元素、动作等。其中,`&lt;jsp:include&gt;`、`&lt;jsp:forward&gt;`、`&lt;jsp:useBean&gt;`等动作元素可能会出现在编程题中,考察如何在...

    Servlet与JSP核心编程(第二版)

    《Servlet与JSP核心编程(第二版)》是一本针对Java Web开发的权威指南,主要聚焦于Servlet和JSP这两个核心技术。Servlet是Java平台上的服务器端组件,用于处理HTTP请求,而JSP(JavaServer Pages)则是一种动态网页...

    JSP网络编程技术 网络编程

    JSP提供了一种更直观的方式来编写动态页面,而Servlet则提供了更底层的控制和处理能力。 3. **JSP生命周期**:包括加载、初始化、服务、销毁四个阶段。在服务阶段,每次请求都会创建一个新的JSP页面实例来处理。 4...

    JSP model2(MVC)思想实现用户注册

    在Web开发领域,JSP Model2模式是一种广泛应用的架构,它是对MVC(Model-View-Controller)设计模式的一种实现。MVC模式是软件工程中用于分隔应用程序数据和显示逻辑的重要工具,使得代码结构清晰,易于维护。下面将...

    用JSP做的个人网站---源码

    JSP是一种动态网页开发技术,它允许开发者在HTML或者XML文档中嵌入Java代码,从而实现服务器端的编程。这个项目可能是用于展示个人作品、博客、或者是兴趣爱好分享的平台。 【描述】提到"自己用心做的,嘿嘿",这...

Global site tag (gtag.js) - Google Analytics