一、java记录时间
sqlDate和utilDate
//sqlDate用来封装数据库中Date类型对应的数据 ,这个类型只记录日期,没时间
//sqlTime可以获得时间
public static void main(String[] args) {
//当前时间
Date date=new Date();
System.out.println(date); //Wed Jul 27 20:28:26 CST 2022
//yyyy-MM--dd HH:mm:ss
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String datestr=sdf.format(date);
System.out.println(datestr); //2022-07-27 20:28:26
//怎样记录时间的:
java使用一个long类型值来记录当前时间 1970-1-1 0点开始计时 每过一毫秒+1
date=new Date(0);
datestr=sdf.format(date);
System.out.println(datestr); //1970-01-01 08:00:00 东八区加8小时
date=new Date();
long l =date.getTime();
System.out.println(l); //1658924906333
int h=date.getHours();
System.out.println(h); //20
int m=date.getMonth();
System.out.println(m); //6 获取月份会减1
二、session作用域
在LoginServlet里:
//接收参数
String username=req.getParameter("username");
String userpass=req.getParameter("userpass");
//获取session对象 会话对象
//从第一次访问服务器开始,tomcat服务器就会维护一个session对象
//主动注销 //超时
HttpSession session=req.getSession();
//根据参数查询数据库 dao
String sql="select * from t_user where username ='"+username+"'";
List<User> list=dao.getUser(sql);
//根据查询结果判断是否登录成功
resp.setHeader("Content-type","text/html;charset=utf-8");
if(list.size()==1) {
User d_user=list.get(0);
System.out.println(d_user);
if(d_user.getUserpass().equals(userpass)) {
session.setAttribute("LOGINUSER",d_user);
resp.getWriter().write("登陆成功");
return;
}
}
resp.getWriter().write("登陆失败");
}
在HelloServlet里:
//从session中取出登录时记录的信息,如果为空就是没有登录,否则就登陆了
HttpSession session=req.getSession();
Object obj=session.getAttribute("LOGINUSER");
resp.setCharacterEncoding("utf-8");
resp.setHeader("Content-type","text/html;charset=utf-8");
if(obj==null) {
resp.getWriter().write("没有登录");
}else {
User user=(User) obj;
resp.setCharacterEncoding("utf-8");
resp.setHeader("Content-type","text/html;charset=utf-8");
resp.getWriter().write(user.getUsername()+"已经登录");
}
resp.getWriter().write("service method "+username+"----"+userpass);
这样就是HelloServlet调用LoginServlet的登录信息,通过session进行连接
三、pageContext作用域 只能在当前jsp中调用
pageContext.setAttribute("easy", "java soeasy");
String str=(String)pageContext.getAttribute("easy");
out.write(str);
四、request作用域
以查询部门表为例:
TestServlet代码为:
package com.easy.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.easy.dao.BumenDao;
@WebServlet("/Test")
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
BumenDao dao=new BumenDao();
public TestServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List list=getBumen();
request.setAttribute("userlist",list);
request.getRequestDispatcher("WEB-INF/test.jsp").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
private List getBumen() {
String sql="select * from 部门";
List list=dao.getBumen(sql);
return list;
}
}
test.jsp代码为:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.List,com.easy.bean.Bumen"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
List<Bumen> l1=(List)request.getAttribute("userlist");
%>
<table>
<tr><td>ID</td><td>name</td><td>number</td></tr>
<%for(Bumen u:l1){%>
<tr><td><%=u.getId() %></td><td><%=u.getName() %></td><td><%=u.getNumber() %></td></tr>
<% }%>
</table>
</body>
</html>