Java初学者网络开发工具包/环境

发布于 2024-08-03 20:40:34 字数 4082 浏览 4 评论 0 原文

我的任务是使用 java 和 java 开发一个交互式网站。 mysql:使用servlet 来检索&按摩数据时,小程序对客户端的数据进行特殊处理,并处理客户端对不同数据视图的请求。

您会推荐什么作为使用 java 进行 Web 开发的合适的通用工具包/环境。

我需要知道以下用途:

  • 服务器端(tomcat?/?)
  • CMS
  • 编辑器/IDE
  • 通用工具/实用程序
  • 定向(特殊用途)工具/实用程序
  • 测试和 QA 工具/实用程序/技术
  • 参考资料(包括on-& ;离线)

请评估建议的解决方案并提供替代方案/改进/支持


建议的 Java Web 开发工具包/环境

cdb

  • : < em>服务器端:
    Tomcat6
  • CMS:
    Drupal(在初步阶段不需要)
  • 编辑器/IDE:
    NetBeans(适合初学者)
  • 通用工具:
    (几乎所有内容都在 NetBeans 中...稍后再使用)
  • 定向(特殊目的):
    (几乎所有内容都在 NetBeans 中...稍后再进行)
  • 测试和 QA:
    JUnit和使用Firebug(先进行手动测试)
  • 参考资料:
    关于 JSP、JavaScript 等的 HeadFirst 系列
    SCRIBD(在线)
    [编辑]
  • 框架:
    Spring Web MVC 2.5 - (这似乎包含大多数其他框架

从答案中提取的选项

服务器端

  • Apache Tomcat - “Java代码运行的HTTP Web服务器环境"
  • Jetty - “HTTP 服务器、HTTP 客户端和 javax.servlet 容器”
  • GlassFish - 应用服务器(基于 Tomcat + 更多功能)
  • JBoss - 应用程序服务器(“以 100% 纯 Java 实现的基于 J2EE 的应用程序服务器”)

CMS

编辑器/IDE

通用工具/实用程序

  • < a href="http://maven.apache.org/" rel="nofollow noreferrer">Maven - “.. 现在可用于构建和管理任何基于 Java 的项目的工具。”
  • log5j 以及 此处[SourceForge] - “Java 版本 5 及更高版本的 java 日志记录库”

定向(特殊用途)工具/实用程序

  • CruiseControl - 基于团队的“用于创建自定义持续构建流程的工具和可扩展框架”
  • Spring 框架(- 设计)

测试和 QA 工具/实用程序/技术< /strong>

  • Watij - “创建 Java API 是为了实现 Web 应用程序的自动化”
  • HtmlUnit - “它对 HTML 文档进行建模并提供一个 API,允许您调用页面、填写表单、单击链接等...”
  • Firebug - (Firefox)“编辑、调试和监控任何网页中的 CSS、HTML 和 JavaScript”
  • < a href="http://hudson-ci.org/" rel="nofollow noreferrer">Hudson - “构建/测试软件项目 [...] 监控外部运行作业的执行”
  • LiveHttpHeaders - 查看&实时编辑 http 请求标头
  • JUnit - “编写可重复测试的框架”

参考资料 (在线和离线)

I have been tasked to develop an interactive website using java & mysql: using servlets to retrieve & massage data, applets to do special handling of the data client-side, and to handle requests from the client for different data views.

What would you recommend as an proper general-purpose toolkit/environment for web development using java.

I need to know what to use for the following:

  • Server side (tomcat?/?)
  • CMS
  • Editor / IDE
  • General tools/utilities
  • Directed (special purpose) tools/utilities
  • Testing and QA tools/utilities/techniques
  • Reference material (both on- & off-line)

Please evaluate the suggested solution(s) and supply alternatives/improvements/support.


Suggested Java web-development toolkit/environment

By cdb:

  • Server side:
    Tomcat6
  • CMS:
    Drupal (not necessary in preliminary phase)
  • Editor/IDE:
    NetBeans (good for a beginner)
  • General tools:
    (Almost everything is in NetBeans... go for it later)
  • Directed (special purpose):
    (Almost everything is in NetBeans... go for it later)
  • Testing and QA:
    JUnit and use Firebug (Do manual testing first)
  • Reference material:
    HeadFirst Series on JSP, JavaScript, etc.
    SCRIBD (online)
    [edit]
  • Framework:
    Spring Web MVC 2.5 - (this seems to contain most of the other frameworks)

Options distilled from the answers

Server side

  • Apache Tomcat - "HTTP web server environment for Java code to run"
  • Jetty - "HTTP server, HTTP client and javax.servlet container"
  • GlassFish - application server (based on Tomcat + more features)
  • JBoss - application server ("J2EE based application server implemented in 100% Pure Java")

CMS

Editor / IDE

General tools/utilities

  • Maven - ".. a tool that can now be used for building and managing any Java-based project."
  • log5j also here[SourceForge] - "java logging library for Java versions 5 and above"

Directed (special purpose) tools/utilities

Testing and QA tools/utilities/techniques

  • Watij - "Java API created to allow for the automation of web applications"
  • HtmlUnit - "It models HTML documents and provides an API that allows you to invoke pages, fill out forms, click links, etc..."
  • Firebug - (Firefox) "edit, debug, and monitor CSS, HTML, and JavaScript live in any web page"
  • Hudson - "Building/testing software projects [...] Monitoring executions of externally-run jobs"
  • LiveHttpHeaders - view & edit http request headers live
  • JUnit - "framework to write repeatable tests"

Reference material (both on- & off-line)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

木有鱼丸 2024-08-10 20:40:34
  • 服务器端
    Tomcat6
  • CMS
    Drupal(prilim 阶段不需要)
  • 编辑器/IDE
    NetBeans(适合初学者)
  • 常规工具/实用程序
    (几乎所有内容都在 NetBeans 中...稍后再使用)
  • 定向(特殊用途)工具/实用程序
    (几乎所有内容都在 NetBeans 中...稍后再使用)
  • 测试和 QA 工具/实用程序/技术
    JUNIT 并使用 FireBug(先进行手动测试)
  • 参考资料(在线和离线)
    关于 JSP、JavaScript 等的 HeadFirst 系列
    SCRIBD(在线)
  • Server side
    Tomcat6
  • CMS
    Drupal (not necessary in prilim phase)
  • Editor / IDE
    NetBeans (good for a beginner)
  • General tools/utilities
    (Almost everything is in NetBeans... go for it later)
  • Directed (special purpose) tools/utilities
    (Almost everything is in NetBeans... go for it later)
  • Testing and QA tools/utilities/techniques
    JUNIT and use FireBug (Do manual testing first)
  • Reference material (both on- & off-line)
    HeadFirst Series on JSP, JavaScript, etc.
    SCRIBD (online)
无人问我粥可暖 2024-08-10 20:40:34

对于 Web 开发,我使用(并推荐)以下内容:

  • JSP/Servlet API
  • Spring MVC
  • JQuery
  • XHTML & CSS
  • Fitnesse

关于资源,所有这些技术在各自的站点上都有详细记录,唯一的例外是 XHTML 和 CSS Fitnesse。我建议使用 http://www.alistapart.com 的 CSS。

至于编辑器,IntelliJ 和(我相信)Eclipse 都有非常好的 HTML、CSS、JSP 和 JavaScript 编辑器。

还可以使用带有 Web Developer 插件和 Firebug 的 Firefox(正如 Brian 所建议的那样)——这两者都是不可或缺的。

For web-development I use (and would recommend) the following:

  • JSP/Servlet API
  • Spring MVC
  • JQuery
  • XHTML & CSS
  • Fitnesse

With regards to resources, all these technologies are well documented on their respective sites, the only exception being XHTML & CSS for which I'd suggest http://www.alistapart.com.

With regards to editors both IntelliJ and (I believe) Eclipse have very good HTML, CSS, JSP and JavaScript editors.

Also use Firefox (as Brian has suggested) with both the Web Developer plugin and Firebug - both of these are indispensable.

忘年祭陌 2024-08-10 20:40:34

Tomcat 和 Jetty 都是众所周知/受支持的 servlet 容器。如果您正在为客户构建可部署的版本,并且您无法控制部署,则可能需要对两者进行测试。

如需测试,请查看(以及 JUnit/TestNG 的常规单元测试框架)Watij 和/或 HtmlUnit。这些将使您能够自动化实际的网络/浏览器交互,从长远来看,将为您避免悲伤的世界。缺点是您必须投入一些时间来设置测试。

与自动化测试相关,我认为你需要一个自动化构建/持续集成系统。 Java 世界中有很多这样的例子。两个常见的是 CruiseControl哈德森

对于上述许多内容,标准 Java/开发工具适用,例如“标准”IDE(Netbeans/Eclipse/Intellij - Intellij 值得付费,顺便说一句)。这同样适用于 CMS,并且该网站上有大量有关 SVN/Git/Mercurial 等优缺点的资源。值得检查您选择的 CMS 是否与您的 IDE 集成。

我会查看 Firebug 来简化开发(在 Firefox 上)。它使前端开发变得更加容易。 LiveHttpHeaders 将简化与 HTTP 传输相关问题的诊断。

Tomcat and Jetty are both well-known/supported servlet containers. If you're building a deployable for customers you may want to test on both, if you don't control the deployment.

For testing, check out (along with your normal unit test frameworks of JUnit/TestNG) Watij and/or HtmlUnit. These will allow you to automate the actual web/browser interactions and will save you a world of grief in the long run. The downside is that you'll have to invest some time in setting up your tests.

Related to automated tests, I think you need an automated build / continuous integration system. Numerous abound in the Java world. Two common ones are CruiseControl and Hudson.

For a lot of the above, standard Java/development tooling applies e.g. the 'standard' IDEs (Netbeans/Eclipse/Intellij - Intellij is worth paying for, btw). The same applies for CMS and there are lots of resources on this website about the pros/cons of SVN/Git/Mercurial etc. It's worth checking that your choice of CMS integrates with your IDE.

I would check out Firebug for simplifying development (on Firefox). It makes the front end development a lot easier. LiveHttpHeaders will ease diagnosis of issues relating to HTTP transfer.

迷乱花海 2024-08-10 20:40:34

内容管理系统

  • 乌龟SVN

编辑器/IDE

  • 日食

通用工具/实用程序

  • Maven(构建和部署工具)
  • 巡航控制
  • GWT/ext-GWT/ICEFaces - Web 组件技术
  • Spring - 依赖注入框架
  • Hibernate - ORM
  • Axis 2.0 Web 服务开发套件
  • Jboss

Directed(特殊用途)工具/实用程序

  • log5j - 用于日志记录

测试和 QA 工具/实用程序/技术

- Watij
- Firebug
- QTP for automated testing
- Junit Perf (Junit test cases for performance testing.)

参考材料(在线和离线)

  • 每种技术的 Java 文档
  • 当然是 Google :)

CMS

  • Tortoise SVN

Editor / IDE

  • eclipse

General tools/utilities

  • Maven (build and deploy tool)
  • Cruise Control
  • GWT/ext-GWT/ICEFaces - web component technology
  • Spring - dependency injection framework
  • Hibernate - ORM
  • Axis 2.0 web service development kit
  • Jboss

Directed (special purpose) tools/utilities

  • log5j - for logging

Testing and QA tools/utilities/techniques

- Watij
- Firebug
- QTP for automated testing
- Junit Perf (Junit test cases for performance testing.)

Reference material (both on- & off-line)

  • Java docs of each of the technologies
  • Google ofcourse :)
じее 2024-08-10 20:40:34

尝试 vcl.js 是一体化(前端和后端)企业 Web 开发工具,

  1. 可视化组件库 - 包括页面,网格、输入、仪表、图表等
  2. 纯 JavaScript
  3. 单页应用程序
  4. .Net 后端
  5. 数据绑定
  6. Twitter 引导程序
  7. 简单的数据库查询执行
  8. 路由
  9. AMD - 模块加载器

我想这个想法是你不需要学习 jquery、Sammyjs 或任何其他框架

Try vcl.js is all in one (front end and backend) enterprise web development tool,

  1. Visual Component Library- include Page,Grid,Input,Gauges,Charts and many more
  2. Pure JavaScript
  3. Single page application
  4. .Net Backend
  5. Data binding
  6. Twitter bootstrap
  7. Simple database query execution
  8. Routing
  9. AMD - Module loader

I guess the idea is that you don’t need to learn jquery,Sammyjs or any other framework

苍白女子 2024-08-10 20:40:34

根据slashmais的要求编辑的第一段:这个答案与其他答案和改写的问题并不真正一致。它更多的是对其他答案的补充。
我相信个人喜好在选择技术时非常重要。我认为这是(不)喜欢某些事物,并选择相应的技术。答案的其余部分给出了示例:


例如,假设我认为开发人员的操作应尽可能实时检查,以接收即时反馈,并在可能的情况下完成,并避免过早这么多错误。这种(不)喜欢决定了一些偏好:

  • 使用静态类型语言(例如 java)
  • 使用在键入时进行编译的 IDE(例如 Eclipse)
  • 任何 Xml 都必须通过严格的 xsd 进行验证。如果内容引用了其他信息(例如java代码),那么应该检查它(例如Spring检查bean类)。
  • 对于视图技术,因为它取决于我的java代码,所以我必须进行包括我实际的java代码的验证。一个想法可能是用 Java 编写我的视图。 (如检票口)。
  • 我的属性需要位于属性文件中才能进行翻译。但是在我的代码(或视图)中使用字符串键是不可接受的。我将运行一个小工具,从每个属性文件创建 java 枚举,并且我的代码将引用这些枚举。
  • ...等等

其他示例,假设我强烈喜欢“约定优于配置”。也就是说,我同意在我的项目中遵循严格的规则,从而减少手动执行的工作(因为默认值适合):

  • Maven 是首选的构建工具。它会施加许多限制,但也会提供开箱即用的许多“构建”功能...
  • 对于 Web 应用程序,我无法使用 Struts 1,因为它们是 struts-config.xml 中的巨大配置文件,主要是管道代码。我肯定会切换到像 Spring MVC 这样的东西,它具有将 url 映射到控制器的默认值。
  • 等等...

其他示例,假设我非常相信模型-视图-控制器分离,为了清晰和重用,我想稍微扩展它。我可以使用:

  • 在视图中,我会干净地分离我的模型(干净的Html,无格式,无脚本),我的视图(或格式,仅外部CSS)和我的控制器(javascript,使用非干扰性javascript策略) 。
  • 在 web 应用程序中,我可以使用 Spring MVC 来很好地分离这些层。
  • 在业务中(这个例子有点做作:-)),我可以拥有丰富的域模型,广泛使用命令模式(“控制器”),并将我的业务服务明确公开为接口 API(“视图”)。

First paragraph edited by request of slashmais : This answer is not really aligned with others, and the rephrased question. It's more of a complement to other answers.
I believe the personal preferences are really important in choosing between technologies. I see it as (dis)liking some things, and choosing the technologies that correspond. The rest of the answer gives examples:


For example, suppose I believe the developer's actions should be checked in real-time as much as possible, to receive immediate feedback, and also completion if possible, and avoid early so many errors. This (dis)liking determines some preferences:

  • use a statically type language (like java)
  • use an IDE that compiles as you type (like Eclipse)
  • any Xml must be validated, via strict xsd. If the content have references to other information (such as java code), then it should be checked (like Spring checking for bean classes).
  • for the view technology, because it depends on my java code, I must have a verification that includes my actual java code. An idea could be to code my view in Java. (like Wicket).
  • my properties need to be in properties files for translation. But using String keys in my code (or view) is not acceptable. I would run a small tool that create java enums from each property file, and my code would reference the enums.
  • ... and so on

Other example, suppose I strongly prefer "Convention over Configuration". That is, I agree to follow stricts rules in my project, getting much less plumbing to do manually (because default values fit):

  • Maven is the build tool of choice. It will impose many constraints, but also provide out-of-the-box many "build" features...
  • For a web application, I couldn't use Struts 1, because they are these huge configuration files in struts-config.xml, mostly with plumbing code. I would definitely switch to something like Spring MVC, that has default values for mapping urls to controllers.
  • and so on ...

Other example, suppose I believe so much in the Model-View-Controller separation, for clarity and reuse, that I want to stretch it a bit. I could use:

  • in the view, I would cleanly separate my model (clean Html, no formatting, no script), my view (or formatting, external css only), and my controller (javascript, using the non-obstrusive javascript policy).
  • in the webapp, I could use Spring MVC to separate well those layers.
  • in the business (this example is a bit constrived :-) ), I could have a rich domain model, use extensively the command pattern ("controllers"), and expose explicitely my business services as an interface API ("view").
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文