在servlet中如何全面判断参数为空???
我的一个servlet是做集中控制处理的,用于转发.
怎么样防止他人直接输入此servlet的映射地址进来\怎么样判断传过来的参数是空的(包括他在参数后面敲的空格)
我希望有人能给一个严整的判断.
我的例子:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException,
IOException {
if(request.getQueryString() == null) {
return;
}
String method = request.getParameter( "method ");
else if(method == null) {return;}
else if(method.equalsIgnoreCase( "addbook ")) {addBook();}
else if(method.equalsIgnoreCase( "delbook ")) {delBook();}
else if(method.equalsIgnoreCase( "updatebook ")) {updateBook();}
感觉思路好乱啊......
我希望能得到一个严格的判断,以能灵活地运用在以后的项目中.
------解决方案--------------------boolean allEmpty=false;
Enumeration paraEnum = request.getParameterNames();
while (paraEnum.hasMoreElements()) {
String para = (String) paraEnum.nextElement();
String[] params=request.getParameterValues(para);
if(params!=null&¶ms.length> 0){
allEmpty=true;
break;
}
}
return allEmpty;
------解决方案--------------------String类有个方法叫trim()
------解决方案--------------------如果referer为空,说明他是直接输入的. request.getHeader( "referer ")
如果request.getQueryString( "要判断的那个参数 ") == null 或者trim之后== " "
则是没有参数或者参数值为空.