Servlet应用程序界面(API)提供了图形类型方法来存储会话中的值或者从一个请求中获得值。一个字符串做这些值的索引,代码中通常频繁使用特殊的字符串,比如:
String query = request.getParameter(“query”); Person person = (Person) session.getAttribute(“current_person”);
这种类型的查询会产生问题,有两个原因。第一个原因是这是输入有误而不会察觉到,意思是如果不是网页开始奇怪地运行,那些错误的名称或者拼写是不会被注意到的。没有哪里可以看出来随后的代码中少了一个’e’:
String query = request.getParameter_ (“qury”);
或者这段代码包含了不正确的大写:
String query = request.getParameter_ (“Query”);
第二个原因是没有请求和会话变量的简易应用文档。
这两个问题都可以通过系统的使用界面控制变量名称来解决,也就是对它们的用途加以注释。例如:
package com.generationjava.application.jobspage;public interface RequestVars{
//used to get the query field from a search box
static public String QUERY = “query”;
}
and
package com.generationjava.application.jobspage;
public interface SessionVars{
//the currently logged in person
static public String CURRENT_PERSON = “current_person”;
}
这些是打印和被说明的变量的用法:
String query = request.getParameter(RequestVars.QUERY);Person person = (Person)session.getAttribute(SessionVars.CURRENT_PERSON);
通过坚持这种代码惯例,就会为混乱的请求和会话变量命名世界带来秩序。