servlet的默认参数传递
学习servlet,写了一个小程序:主要代码如下:
private String username;
private String _userName;
private String _userPassword;
private int _userAge;
……
//Initialize global variables
public void init() throws ServletException
{
//USERNAME已经在Web.xml中配置
username = getInitParameter("USERNAME");
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
_userName = request.getParameter("userName");
_userPassword = request.getParameter("userPassword");
//问题出在这里
if(_userName == null || _userName.trim()=="")
{
_userName = username;
}
if(_userPassword == null || _userPassword=="")
{
_userPassword = "";
}
try
{
_userAge = Integer.parseInt(request.getParameter("userAge"));
}
catch(NumberFormatException e)
{
_userAge = 0;
}
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>NewUser</title></head>");
out.println("<body bgcolor=\"#ffffff\">");
out.println("<hr>");
out.println("UserName="+_userName);
out.println("<hr>");
out.println("UserPassword="+_userPassword);
out.println("<hr>");
out.println("UserAge="+_userAge);
out.println("</body></html>");
}
出现的问题是:当提交的form表单中的userName为空时,我想使用默认值username(写在web.xml中的),也就时执行
if(_userName == null || _userName.trim()=="")
{
_userName = username;
}
可这句话怎么也不执行,但是若这样写:
if(_userName.length()<1)
{
_userName = username;
}
就可以正常执行,为什么会出现这种情况?谢谢指导!
问题点数:20、回复次数:3Top
1 楼singedcat(以夢為馬)回复于 2005-02-04 11:00:20 得分 0
upTop
2 楼jgo(无尽的风)回复于 2005-02-04 11:02:55 得分 0
<servlet>
<init-param>
<param-name>nnn</param-name>
<param-value>vv</param-value>
</init-param>
</serlvet>
嵌在servlet配置中Top
3 楼chris_zjy(笑鱼)回复于 2005-02-04 11:27:41 得分 20
_userName.trim()=="" 这样判断是不行的
改为"".equals(_userName.trim())
试试看Top




