从ASP.Net迁移到Java进行Web开发

时间:2011-03-02 10:09:17

标签: c# java asp.net spring-mvc

我的工作要求我彻底改变技术。我很好,我很高兴能够学习新东西;但我觉得我是Java的新手,特别是我没有经验的网络开发方面。

只是一点背景,我通常会使用ASP MVC 3,Razor视图引擎,C#创建网站,并且在后端一切都将很好地进行TDD并使用EF进行数据访问。对于.NET,我已经做了大约4年。

现在我明白,就我的目的而言,我不会觉得很难将我的技能从C#转换为Java语法,它只是它周围的一切,框架,网络服务器以及在短期内让我迷惑的东西。即使使用新的IDE也会令人沮丧。

有人可以提供任何建议吗?我知道我们想要使用Spring MVC,大概是使用Tomcat。我是否需要为开发目的设置和安装Tomcat?或者eclipse / netbeans(我应该使用它?!)自动为你做这件事,就像Visual Studio通过使用本地IIS web服务器一样。

对于TDD,是否有一个很好的插件可供任何人推荐的eclipse / netbeans所以我可以直接点击一个类文件并进行“运行测试”

任何一般有用的链接,入门教程?

干杯

4 个答案:

答案 0 :(得分:7)

我不建议以Spring MVC开头。你应该从较低的水平开始,以便在开始时保持简单。

我建议为Java EE开发人员安装Eclipse IDE版 。此版本包含除应用程序服务器之外所需的所有内容。

所以你必须自己安装Tomcat

Eclipse中,您现在可以从“新项目”开始,然后选择动态Web项目,它可以为干净的新Web应用程序提供所需的一切。

Eclipse之后,您可以右键单击该项目,然后单击在服务器上运行,这将打开一个qizard,您可以在其中配置Tomcat安装的内容。

这就是设置的内容。您应该使用Eclipse,因为Eclipse是专业环境中的标准编辑器。

你现在应该学习什么,或者你应该从哪里开始学习java,如果你还没学过的话。然后继续:Servlet API和Java Server Pages(JSP)API。

你应该给你一些关于它的书,以便了解它。

之后,了解Spring MVC是什么,它做什么以及如何工作将会容易得多。

在这种情况下从Spring MVC开始就像从屋顶开始建造房屋。我认为这会失败。

修改:为了完成此操作,我找到了这个链接here,在我看来这是一个很好的第一个起点。

修改:最后一件事:TDDJava的标准库名为JUnitEclipse有一个不错的插件使用它。

答案 1 :(得分:2)

最大的问题是,你将继续陷入微软令人上瘾的产品中,它是“神奇”的工具,编辑和插件,甚至是键盘快捷键。

所以,我认为这很难移动。

答案 2 :(得分:1)

一些建议:

  • 测试驱动开发 - JUnit,HTTPUnit

  • IDE - Eclipse(免费),IntelliJ(商业) - 都提供您期望的所有高级IDE功能,包括嵌入式服务器

  • Web框架 - 重要:在选择框架时应该使用的标准是您是否可以进行更改而无需重新部署或重新启动服务器进行更改。 (支持这个的两个例子是Grails(基于脚本)和Tapestry5(使用实时类重新加载 - 我确信这些日子还有很多......但是先检查一下,否则你会浪费大量时间等待部署变更)

  • 服务器 - Tomcat7和Jetty都很好

Jetty小巧,快速,灵活,即使您最终在生产中使用其他服务器,它也可以成为开发的理想选择。您可以将它嵌入Eclipse(RunJettyRun)或编写自己的钩子来启动它,就像这样简单:

private static void run(int port, String resourceBase, String descriptor) {
    Server server = new Server(port);
    WebAppContext context = new WebAppContext();
    context.setResourceBase(resourceBase);
    context.setDescriptor(descriptor);
    context.setContextPath("/");
    context.setParentLoaderPriority(true);
    server.setHandler(context);
        server.start();
    server.join();
}

答案 3 :(得分:1)

尝试使用Oracle ADF(应用程序开发框架),它非常类似于 Microsoft Visual Studio。