草庐IT

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

coder 2023-08-30 原文

我的工作要求我彻底改变技术。我对此很好,我很高兴能学习新东西;但我觉得我是 Java 的新手,尤其是我零经验的 Web 开发方面。

简单介绍一下背景知识,我通常会使用 ASP MVC 3、Razor View 引擎、C# 创建网站,在后端,一切都将很好地进行 TDD,并使用 EF 进行数据访问。总的来说,我使用 .NET 已经有 4 年了。

现在我很感激,为了我的目的,我不会发现从语法上将我的技能从 C# 转换为 Java 很困难,它只是它周围的一切,框架、网络服务器和短期内会让我感到困惑的东西。即使使用新的 IDE 一开始也会令人沮丧。

有人可以提供任何建议吗?我知道我们想使用 Spring MVC,大概与 Tomcat 一起使用。我是否需要为开发目的设置和安装 Tomcat?或者 eclipse/netbeans(我应该使用哪个?!)会自动为您执行此操作,就像 Visual Studio 通过使用本地 IIS 网络服务器所做的那样。

对于 TDD,有没有任何人会推荐的适用于 eclipse/netbeans 的好插件,这样我就可以右键单击一个类文件并执行“运行测试”

是否有任何通用的有用链接、入门教程?

干杯

最佳答案

我不建议从 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 ,在我看来这是一个很好的起点。

编辑:最后一件事:JavaTDD 的标准库称为JUnit 并且有Eclipse 的一个很好的插件来使用它。

关于c# - 从 ASP.Net 迁移到 Java 进行 Web 开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5165924/

有关c# - 从 ASP.Net 迁移到 Java 进行 Web 开发的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  3. ruby-on-rails - 按天对 Mongoid 对象进行分组 - 2

    在控制台中反复尝试之后,我想到了这种方法,可以按发生日期对类似activerecord的(Mongoid)对象进行分组。我不确定这是完成此任务的最佳方法,但它确实有效。有没有人有更好的建议,或者这是一个很好的方法?#eventsisanarrayofactiverecord-likeobjectsthatincludeatimeattributeevents.map{|event|#converteventsarrayintoanarrayofhasheswiththedayofthemonthandtheevent{:number=>event.time.day,:event=>ev

  4. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  5. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  6. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  7. ruby - 如何进行排列以有效地定制输出 - 2

    这是一道面试题,我没有答对,但还是很好奇怎么解。你有N个人的大家庭,分别是1,2,3,...,N岁。你想给你的大家庭拍张照片。所有的家庭成员都排成一排。“我是家里的friend,建议家庭成员安排如下:”1岁的家庭成员坐在这一排的最左边。每两个坐在一起的家庭成员的年龄相差不得超过2岁。输入:整数N,1≤N≤55。输出:摄影师可以拍摄的照片数量。示例->输入:4,输出:4符合条件的数组:[1,2,3,4][1,2,4,3][1,3,2,4][1,3,4,2]另一个例子:输入:5输出:6符合条件的数组:[1,2,3,4,5][1,2,3,5,4][1,2,4,3,5][1,2,4,5,3][

  8. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  9. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  10. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

随机推荐