java action 返回html_java html页面怎么得到在action中存的request.setAttribute(),并在页面alert()显示?...

//这里是js的代码

$.ajax({

url : '/xx!xx.action',

type : 'POST',

dataType : 'JSON',

data : {"ID":id,"name":name},//json格式的表单数据

success : function(result)

{

if(result.success)//如果成功后干嘛

{

alert(result.msg);

}else

{

如果不成功干嘛

}

}

});

action里面的代码可以这样写public void xx()

{

Map map = new HashMap();

//通过sturts2中的modeldriven(你应该懂)获取表单数据查询是否存在该记录

if(isHas)

{ 如果存在就不插入

map.put("success",false);

}else

{

不存在插入数据

map.put("success",true);

map.put("msg","注册成功!");

}

用json工具转化成json格式的字符串

String text=JSONUtil.serialize(map);

HttpServletResponse response = ServletActionContext.getResponse();

//设置编码及文件格式

response.setContentType("text/html;charset=UTF-8");

//设置不使用缓存

response.setHeader("Cache-Control","no-cache");

response.getWriter().write(text);

response.getWriter().flush();

response.getWriter().close();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要编写登录页面 login.html。代码如下: ```html <!DOCTYPE html> <html> <head> <title>用户登录</title> </head> <body> <h1>用户登录</h1> <form action="LoginServlet" method="post"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br><br> <input type="checkbox" id="remember" name="remember"> <label for="remember">记住我</label><br><br> <input type="submit" value="提交"> </form> </body> </html> ``` 接下来,我们编写 LoginServlet.java 的逻辑处理代码。代码如下: ```java package com.example.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @WebServlet("/LoginServlet") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); String remember = request.getParameter("remember"); if (username == null || username.equals("")) { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("<script>alert('请输入用户名登录!');window.location.href='login.html'</script>"); return; } if (username.equals("张三") && password.equals("123456")) { // 登录成功,创建会话 HttpSession session = request.getSession(true); session.setAttribute("username", username); // 判断是否需要记住密码 if (remember != null) { // 创建 Cookie Cookie userNameCookie = new Cookie("username", username); Cookie passwordCookie = new Cookie("password", password); // 设置 Cookie 的有效期为 1 天 userNameCookie.setMaxAge(60 * 60 * 24); passwordCookie.setMaxAge(60 * 60 * 24); // 把 Cookie 添加到响应 response.addCookie(userNameCookie); response.addCookie(passwordCookie); } // 跳转到欢迎页面 response.sendRedirect("welcome.jsp"); } else { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("<script>alert('用户名错误!');window.location.href='login.html'</script>"); } } } ``` 在 LoginServlet ,我们首先获取用户提交的用户名、密码和是否记住密码的标记。如果用户名为空,则返回“请输入用户名登录”的提示信息,并在 2 秒钟后跳转回登录页面。如果用户名不为空,则判断用户名和密码是否正确。如果正确,则创建会话并跳转到欢迎页面。如果记住密码的标记被勾选,则创建 Cookie 并将其添加到响应。 最后,我们来编写欢迎页面 welcome.jsp 的代码。代码如下: ```html <!DOCTYPE html> <html> <head> <title>欢迎页面</title> </head> <body> <h1>欢迎你,<%= session.getAttribute("username") %>!</h1> <a href="logout.jsp">退出</a> </body> </html> ``` 在欢迎页面,我们通过会话获取到当前用户的用户名,并显示页面上。同时,提供了一个“退出”超链接,点击后跳转到 logout.jsp 页面。 最后,我们还需要编写 logout.jsp 页面的代码。代码如下: ```html <!DOCTYPE html> <html> <head> <title>退出登录</title> </head> <body> <h1>已退出登录!</h1> <a href="login.html">重新登录</a> </body> </html> ``` 在 logout.jsp 页面,我们简单地显示一个“已退出登录”的提示信息,并提供一个“重新登录”的超链接,点击后跳转回登录页面。 现在,我们已经完成了用户登录判断逻辑处理和自动登录业务的 Servlet 编写,并通过 Cookie 技术实现了用户自动登录网站功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值