只是想知道是否有更好的方法来构建我正在创建的Web应用程序?我不会展示很多代码,我更关心遵循最佳实践:
Index.html
包含静态表单servlet包含3个方法:
doPost(HttpRequest,
HttpResponse)
doGet(HttpRequest, HttpResponse)
processRequest(Map map)
doPost()
构造一个hashmap,并以key:value
格式将表单中的所有变量分配给它。然后它调用方法processRequest(Map map)
processRequest(Map map)
有一个功能:使用地图变量创建类formParser
的新实例:ie formParser parser = new formParser(map);
类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
值的值
然后,我使用有效的key:value对将某些XML片段写入预先存在的XML骨架,并将其发送到外部REST-API。我还没写这段代码。
答案 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);
}
}