问题很多

""" 问题其实也不是问题。 """

虽然我修读过C语言, 但是在静态语言方面还是几乎一片空白。 Java 让我感到很多苦恼, 不过估计是我个人不熟悉所致, 也可能是某人所说的“开发方式”的问题。 我应该是没有权利来抱怨, 然而我正在使用,并感到烦恼。 我使用轻量的 Tomcat 来部署我的 webapp , 我写最基本的最简单的 jsp 来实现我需要的逻辑和页面, 单纯使用 jsp 来做这些事情的话, 我感觉就像在使用动态语言,虽然首次运行访问比较慢。 但是我需要使用到一些库,于是问题来了。 我同时部署了几个 webapp , 他们各自会有一些库放在其 WEB-INF/lib 中, 于是他们之间在 Tomcat 的运行环境中产生了某些相互反应, 导致 webapp 运行异常。

也许这只是我配置不够正确。 然而提示配置,我简直要疯掉了。 我测试一个项目的时候, 这个项目使用到了几个相当有名的项目, 如 Spring 框架、Hibernate 等。 我对这些一窍不通,他们各自有很多不同的配置问题, 繁多复杂。 这些有名的项目其文档都很丰富和成熟, 然而也是又长又复杂, 我没有那么多时间耗费在这上面。 我按照这个项目的仅有的一点说明文档, 将其打包成 war 包, 放到 Tomcat 运行环境中, 重启 Tomcat , 神奇的 Tomcat 会给你部署这个项目, 生成一个跟 war 包相同名字的文件夹, 于是仿佛可以在这个文件夹中修改那些配置文件来重新配置这个项目的运行选项, 我只是想更改一些数据库连接的选择而已, 这花了了将近大概一天的时间, 包括其中大量的进行 Google 搜索解决问题的时间, 后来才发现这些配置其实不能全部在已使用 war 部署的 webapp 中更改, 好大一个杯具! 我配置好了再打包,再部署就没问题了。。。

我想试试看 Tomcat 文档中所说的使用 JSTL 来操作 MySQL 数据库的方法, 我对 JSTL 一窍不通。 我照着教程做了, 结果那些 jsp 中的 JSTL 的标签像是在嘲笑我, 他们直接显示在输出的 HTML 中了, 丝毫没有任何处理了的痕迹。 我再回头看看文档, 文档说:

That JSP page makes use of JSTL's SQL and Core taglibs. You can get it from Sun's Java Web Services Developer Pack or Jakarta Taglib Standard 1.1 project - just make sure you get a 1.1.x release. Once you have JSTL, copy jstl.jar and standard.jar to your web app's WEB-INF/lib directory.

我认为我已经按照这个说明将 JSTL 1.1 弄好了, 不过,它死活没有起效果。 真的是杯具。

我需要使用一个已经编译打包好的 jar 包来提供其库的功能, 我在自己的 servlet 中使用这个库, 我发现我的程序中需要动态调试, 我想知道某个特定的时候, 某些对象的状态,属性,等等的东西。 如果只是在我自己的 servlet 中的话, 我想我可以直接使用 log 来获取信息。 但是对于流经库中的东西, 我难道要重新修改那个库的源代码, 写进去调试的代码, 重新编译那个库, 再把那个库放置到我的运行环境中? 这个过程实在繁琐。 也许我习惯了动态语言, 如 Python 之类的“开发方式”, “人生苦短,我用Python.”应该是很多行者(Python程序员的自称)的告白。

根据辩证法,世界是一个矛盾统一体。 就像《架构师》2010年七月(infoq中文的一本期刊)中 《解读NoSQL技术代表作Dynamo》一文提到的 CAP原则 那样, 很多东西都是辩证统一的, 不可能存在所有条件都完美满足的情况存在, 我们应该进行取舍。

Java 作为一种成熟的强大的静态语言,她自有其明显优点也有其某些不足。 Python 等优雅简朴的动态语言,她们也自有其明显优点也有其某些不足。 其他工具也都一样。

我以同一种“开发方式”去尝试另一种似乎不合适的环境, 结果是要碰钉子, 感到不舒服的。

人们因为自己的喜好而追求其钟意的目标, 并为其钟爱的目标奉献自己的才能, 他们为此而骄傲,为此而欣慰。

Comments

Comment is disabled by administrator.