这对我的Java Web应用程序来说是一种合理的方法吗?

时间:2013-12-12 10:27:19

标签: java java-ee servlets architecture

只是想知道是否有更好的方法来构建我正在创建的Web应用程序?我不会展示很多代码,我更关心遵循最佳实践:

  1. Index.html包含静态表单
  2. 用户填写表单,POST请求由Java Servlet处理
  3. servlet包含3个方法:

    • doPost(HttpRequest, HttpResponse)
    • doGet(HttpRequest, HttpResponse)
    • processRequest(Map map)
  4. doPost()构造一个hashmap,并以key:value格式将表单中的所有变量分配给它。然后它调用方法processRequest(Map map)

  5. processRequest(Map map)有一个功能:使用地图变量创建类formParser的新实例:ie formParser parser = new formParser(map);
  6. formParser有一个构造函数和方法:

    • 构造函数初始化一个克隆原始的新HashMap和一个新的LinkedList,用于存储值并使用map参数调用该方法

      Map<String, String> paramMap = new HashMap<String, String>(map);
      List<String> paramList = getParams(paramMap);
      
    • 方法public LinkedList<String> getParams(Map paramMap)然后会检查地图中的所有键:值对,并且只接受那些没有null值的值

  7. 然后,我使用有效的key:value对将某些XML片段写入预先存在的XML骨架,并将其发送到外部REST-API。我还没写这段代码。

  8. 编辑:我应该补充一点,我是Java Web编程的新手,这就是为什么我只是试图验证我的方法对程序的功效,而不是代码本身。那会晚些。

3 个答案:

答案 0 :(得分:1)

我不知道你的意思是什么&#34;效率&#34;但如果你在谈论表现,我在你描述的步骤中看不到任何疯狂的事情,并且IMO足够了。

使用最简单,最常用的设计,如果出现问题,您可以提高性能。根据我的经验,网络应用程序中99.999%的性能问题来自做疯狂的事情(即不寻常的复杂方法)。

答案 1 :(得分:1)

由于您不熟悉Web编程,因此不应考虑性能问题。

只关注工作代码。

答案 2 :(得分:1)

我认为通过不创建LinkedList可以稍微改进第6步。如果我理解正确,LinkedList用于删除NULL值。这可以通过遍历地图的键,检索它们的值并从地图中删除具有NULL值的任何键来实现。

Map map = new HashMap<String, String>();
map.put("name1","somevalue");
map.put("name2",null);

for(String s : map.keySet()){ 
    String value = map.get(s);
        if ( s == null){
            map.remove(s);
        }
}