我这是通过jsp登录页面提交给servlet处理请求,然后在这个Jsp页面出现登录成功或失败的提示条该怎么写?

最好能用代码具体是说一下!

index.jsp
<body>
${message }
<form action="login" method="post">
用户名:<input type="text" name="username"/>
密码:<input type="password" name="password"/>
<input type="submit" value="提交"/>
</form>
</body>
LoginServlet
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
if (username.equals("aaa") && password.equals("aaa")) {
request.setAttribute("message", "成功");
request.getRequestDispatcher("index.jsp").forward(request, response);
} else {
request.setAttribute("message", "失败");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}追问

谢谢你的回答~!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-21
$(document).ready(function (){
$('#login_button').click(function (){
var name=$('#username').val();
var pwd=$('#password').val();

$.ajax({
url:'.....', //后台url地址
type:'post', //数据发送方式
dataType:'json', //接受数据格式
data:‘name=’+name+'&pwd='+pwd, //要传递的数据
success:function(msg){
alert(msg);
} //回传函数(这里是函数名)
});
});
});
这是用Jquery ajax的方法
后台的话都差不多,需要用String msg = " " 来存放你判断的登录结果,然后写上
HttpServletResponse res = ServletActionContext.getResponse();
res.setCharacterEncoding("utf-8");
try {
res.getWriter().println(msg);
} catch (IOException e) {
e.printStackTrace();
}
第2个回答  2012-08-21
你的servlet处理完得返回页面,在返回页面之前做一下逻辑判断,成功与失败都可以放到request,jsp页面拿request获取追问

jsp获取以后怎么显示?

追答

比如你serlet这样request.setAttribute("message", message);传值,jsp页面是String message=(String)request.getAttribute("message");取值,然后把取出的值。在jsp中就可以显示出来

第3个回答  2012-08-21
String inputCode = request.getParameter("checkCode");
System.out.println(inputCode);
//从session中获取正确的验证码
String rightCode = (String) request.getSession().getAttribute("code");
System.out.println("---"+rightCode);
String name = request.getParameter("username");
String pass = request.getParameter("userpass");
HttpSession session = request.getSession();

UserDTO user = new UserDAO().check(name, pass);
session.setAttribute("username", name);
if(user==null){
request.setAttribute("errMsg","您输入的用户名或密码有错!");
request.getRequestDispatcher("login.jsp").forward(request, response);
}else {

if(inputCode.equalsIgnoreCase(rightCode)){

request.getSession().setAttribute("user",user);
request.setAttribute("m", name);
request.getRequestDispatcher("index.jsp").forward(request, response);
}else{
request.setAttribute("errMsg","请重新输入验证码");
request.getRequestDispatcher("login.jsp").forward(request,response);
}
}
第4个回答  2012-08-21
那要看你保存的是什麽类型的数据了,jstl和el相互配合显示。追问

都是字符串!

追答

是service调用方法返回的吗。一般返会类型都是集合或对象,你怎麼还弄成字符串了

相似回答