将WebApp转换为桌面应用程序[Java]

时间:2014-10-31 11:00:28

标签: java jsp servlets

我一直在写这个非常简单的Webapp。它接收两个参数,一个单词和一个字母。它计算在所述单词中可以找到该字母的次数。

我在Eclipse中有一个Dynamic Web Project,其中包含以下内容: OccurencesCounter.java:方法计数有两个参数:单词和字母。它返回计数(找到的字母数) OccurencesServlet.java在这里我创建了一个OccurencesCounter obj,我得到了params,我调用了函数count等,然后我将请求/响应转发给result.jsp result.jsp我显示了我计算的结果。

这是针对参数和MVC的练习完成的。 根据MVC模式,我可以在桌面应用程序中轻松更改此Web应用程序。 我知道我需要改变我的观点,result.jsp。

我需要一个主要课程。其余的代码应该保持不变。

我的问题如下:我如何使用servlet?我无法理解我仍然需要它。

我想我可以使用JOptionPane来输入我的参数(“HelloWorld”,“o”),但是完全绕过servlet。我只需要OccurencesCounter课程和我的主要课程。

这是正常的吗?或者我应该使用servlet(以某种未知的方式给我)。

我很困惑,因为这是一个任务告诉我:我们只希望您在创建桌面应用程序时调整视图,因为它是MVC模式请求的。确保您有一个适用于两个作业的模型。

谢谢

2 个答案:

答案 0 :(得分:0)

如果请求url与servlet映射匹配,则Servlet侦听http请求并执行Java代码。这在使用HTTP(服务器端/ Web应用程序)时非常有用,但在桌面应用程序(事件驱动)中则无用。

  

我们只希望您在创建桌面时调整视图(而不是您的类)   应用程序,因为MVC模式请求。

他们希望您在两种环境中重复使用您的OccurencesCounter类。如果那个类不包括任何与环境相关的技术,例如Servlet,那总是可能的。

  

确保您有一个适用于这两个作业的模型。

实际上,从MVC的角度来看,你的课程不是“模范”。它更像是一种服务,可以被控制器称为delegation),返回结果(模型)并将其显示在任何类型的视图上。

所以只需用main方法创建一个类,然后从那里运行你的OccurencesCounter类。

答案 1 :(得分:0)

如果您在Web应用程序中遵循MVC模式,则应该:

  • 模型:将在桌面应用程序中重用的一组服务,dao和业务类
  • 控制器:一组servlet(如果使用框架,则为控制器) - >这是与UI相关的,必须重写
  • 查看:一组HTML,JSP,CSS等 - >必须重写

如果要从JSP迁移到Velocity或Thymeleaf但仍在Web应用程序中,MVC模型允许(几乎)轻松替换视图部分

相关问题