初学JavaWeb

您所在的位置:网站首页 怎么从数据库中获取数据 初学JavaWeb

初学JavaWeb

2024-07-13 03:57| 来源: 网络整理| 查看: 265

今天想做这么一个功能,当用户A登陆时候,显示A内容。当用户B登陆时,显示B内容。于是又学到了点新知识。

session对象:

      session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。

前端代码:

mmp //利用session进行登陆和登出 login exit //JSTL以及EL表达式 ${username}请看这里 //退出方法 $('#Login_exit_btn').click(function () { $.ajax({ url:'/demo4/demo/exit', success:function (data) { alert("退出成功"); window.location.href="/demo4/demo/index"; } }) }) //登陆方法 $('#Login_form_btn').click(function () { $.ajax({ url:'/demo4/demo/login', data:$('#Login_form').serialize(), success:function (data) { if(data=="success"){ alert("登陆成功"); }else{ alert("登陆失败"); } window.location.href="/demo4/demo/index"; } }) }) 后端代码:

package com.xudan.demo4.controller; import com.xudan.demo4.mapper.UserMapper; import com.xudan.demo4.pojo.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.HttpRequestHandlerServlet; import org.springframework.web.servlet.support.RequestContextUtils; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.security.Signature; import java.util.List; import java.util.UUID; @Controller @RequestMapping("/demo") //控制器映射 public class DemoController { @Autowired //自动装配 private UserMapper userMapper; //重定向指向的方法,用来进行跳转到INF内的index.jsp @RequestMapping("index") public String index(Model model) { List userList = userMapper.selectAll(new User()); model.addAttribute("userList", userList); return "index"; } @RequestMapping("exit") @ResponseBody public String exit(HttpServletRequest request){ request.getSession().removeAttribute("login"); request.getSession().removeAttribute("username"); return "success"; } @RequestMapping("login") @ResponseBody public String login(User user,HttpServletRequest request){ String username = user.getUser(); String password = user.getPassword(); if(username==null || username.equals("") || password==null || password.equals("")){ return "fail"; } if(userMapper.selectAll(user).size()>0){ request.getSession().setAttribute("login","1"); request.getSession().setAttribute("username",username); return "success"; }else { request.getSession().setAttribute("login","0"); return "fail"; } } } 所学到的几个新知识:

 (一)HttpServletRequest   

     HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。

 (二)request.getSession().setAttribute

 getSession()是返回当前用户的会话对象。

而serAttribute就是往session作用域中存值. setAttribute(key,value.) key代表变量名称,value代表具体的值

 (三)EL表达式

 ${username}

       通过上面的例子我们可以知道,EL表达式的语法非常简单,它以”${”开头,以”}”结束,中间为合法的表达式,具体的语法格式为:

       ${expression}

       expression用于指定要输出的内容,可以使字符串,也可以是由EL运算符组成的表达式。

 备注:包括之前的查询,${userList}也是EL表达式 前端中的eq代表== 而ne代表!= 还有具体其它的下次去系统学习一次。

 (四)request.getSession().removeAttribute()

 removeAttribute() 这个方法代表销毁session变量,括号里填变量名称



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3