javaBean的代码
  
package bean;
  
import java.io.Serializable;
  
public class Admin implements Serializable{
      
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private Integer id;
    private String name;
    private String pass;
  
    public Admin() {
        super();
        // TODO Auto-generated constructor stub
    }
  
    public Admin(Integer id, String name, String pass) {
        super();
        this.id = id;
        this.name = name;
        this.pass = pass;
    }
  
    public Integer getId() {
        return id;
    }
  
    public void setId(Integer id) {
        this.id = id;
    }
  
    public String getName() {
        return name;
    }
  
    public void setName(String name) {
        this.name = name;
    }
  
    public String getPass() {
        return pass;
    }
  
    public void setPass(String pass) {
        this.pass = pass;
    }
  
    @Override
    public String toString() {
        return "AdminBean [id=" + id + ", name=" + name + ", pass=" + pass
                + "]";
    }
  
}
dao的基础接口类
  
package dao;
  
import java.util.List;
  
public interface BaseDao<T, PK> {
    /**
     * 插入数据
     */
    boolean insert(T entity);
  
    /**
     * 根据实体删除数据
     */
    boolean delete(T entity);
  
    /**
     * 根据ID删除数据
     */
    boolean deleteById(PK id);
  
    /**
     * 修改数据
     */
    boolean update(T entity);
  
    /**
     * 查询所有数据
     */
    List<T> findAll();
  
    /**
     * 根据ID查询数据
     */
    T findById(PK id);
  
    /**
     * 根据当前页查询数据
     */
    List<T> findNowPageInfo(int nowpage, int pagesize,String sortName,String sortOrder);
  
    /**
     * 返回总页数
     */
    Integer getCountPage(int pagesize);
  
    /**
     * 批量删除
     */
  
    boolean deletes(Object ids[]);
  
}
对admin操作的接口类,继承自basedao
  
package dao;
  
import bean.Admin;
  
public interface AdminDao extends BaseDao {
    Admin checkLogin(String name,String pass);
    Admin checkLogin(String name);
      
}
dao操作实体的实现类
  
package daoImpl;
  
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
  
import util.JdbcUtil;
import bean.Admin;
import dao.AdminDao;
  
public class AdminDaoImpl implements AdminDao {
  
    private Connection conn;
    private PreparedStatement pstmt;
    private ResultSet rs;
  
    @Override
    public boolean insert(Admin entity) {
        return JdbcUtil.upDate("insert into admin (name,pass) values (?,?)",
                new Object[] { entity.getName(), entity.getPass() });
    }
  
    @Override
    public boolean delete(Admin entity) {
        // TODO Auto-generated method stub
        return deleteById(entity.getId());
    }
  
    @Override
    public boolean deleteById(Integer id) {
        // TODO Auto-generated method stub
        return JdbcUtil.upDate("delete from admin where id=?",
                new Object[] { id });
    }
  
    @Override
    public boolean update(Admin entity) {
        // TODO Auto-generated method stub
        return JdbcUtil.upDate(
                "update admin set name=?,pass=? where id=?",
                new Object[] { entity.getName(), entity.getPass(),
                        entity.getId() });
    }
  
    @Override
    public List findAll() {
        // TODO Auto-generated method stub
        return null;
    }
  
    @Override
    public Admin findById(Integer id) {
        // TODO Auto-generated method stub
        return null;
    }
  
    @Override
    public List findNowPageInfo(int nowpage, int pagesize,
            String sortName, String sortOrder) {
        // TODO Auto-generated method stub
        return null;
    }
  
    @Override
    public Integer getCountPage(int pagesize) {
        // TODO Auto-generated method stub
        return null;
    }
  
    @Override
    public boolean deletes(Object[] ids) {
        // TODO Auto-generated method stub
        return false;
    }
  
    @Override
    public Admin checkLogin(String name, String pass) {
        // TODO Auto-generated method stub
        Admin entity = null;
        String sql = "select * from admin where name=? and pass=?";
        conn = JdbcUtil.getConn();
        try {
            pstmt = conn.prepareStatement(sql);
            int index = 1;
            pstmt.setString(index++, name);
            pstmt.setString(index++, pass);
            rs = pstmt.executeQuery();
  
            if (rs.next()) {
                entity = new Admin();
                entity.setId(rs.getInt("id"));
                entity.setName(rs.getString("name"));
                entity.setPass(rs.getString("pass"));
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            JdbcUtil.release(rs, pstmt);
        }
        return entity;
    }
  
    @Override
    public Admin checkLogin(String name) {
        Admin entity = null;
        String sql = "select * from admin where name=?";
        conn = JdbcUtil.getConn();
        try {
            pstmt = conn.prepareStatement(sql);
            int index = 1;
            pstmt.setString(index++, name);
            rs = pstmt.executeQuery();
            if (rs.next()) {
                entity = new Admin();
                entity.setId(rs.getInt("id"));
                entity.setName(rs.getString("name"));
                entity.setPass(rs.getString("pass"));
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            JdbcUtil.release(rs, pstmt);
        }
        return entity;
    }
  
}
服务器接口类,用来将操作数据库的方法与记录历史的方法或其他的方法分离开,作用是增强代码的可读性以及条理性,
  
package service;
  
import java.util.List;
  
public interface BaseService<T, PK> {
    /**
     * 插入数据
     */
    boolean insert(T entity);
  
    /**
     * 根据实体删除数据
     */
    boolean delete(T entity);
  
    /**
     * 根据ID删除数据
     */
    boolean deleteById(PK id);
  
    /**
     * 修改数据
     */
    boolean update(T entity);
  
    /**
     * 查询所有数据
     */
    List<T> findAll();
  
    /**
     * 根据ID查询数据
     */
    T findById(PK id);
  
    /**
     * 根据当前页查询数据
     */
    List<T> findNowPageInfo(int nowpage, int pagesize,String sortName,String sortOrder);
  
    /**
     * 返回总页数
     */
    Integer getCountPage(int pagesize);
  
    /**
     * 批量删除
     */
  
    boolean deletes(Object ids[]);
  
}
  
package service;
  
import bean.Admin;
  
public interface AdminService extends BaseService {
    Admin checkLogin(String name,String pass);
    Admin checkLogin(String name);
}
实现服务器接口方法的实现类
  
package serviceImpl;
  
import java.util.List;
  
import dao.AdminDao;
import daoImpl.AdminDaoImpl;
  
import bean.Admin;
import service.AdminService;
  
public class AdminServiceImpl implements AdminService {
    AdminDao adminDao = new AdminDaoImpl();
  
    @Override
    public boolean insert(Admin entity) {
        return adminDao.insert(entity);
    }
  
    @Override
    public boolean delete(Admin entity) {
        return false;
    }
  
    @Override
    public boolean deleteById(Integer id) {
        return false;
    }
  
    @Override
    public boolean update(Admin entity) {
        return false;
    }
  
    @Override
    public List findAll() {
        return null;
    }
  
    @Override
    public Admin findById(Integer id) {
        return null;
    }
  
    @Override
    public List findNowPageInfo(int nowpage, int pagesize,
            String sortName, String sortOrder) {
        return null;
    }
  
    @Override
    public Integer getCountPage(int pagesize) {
        return null;
    }
  
    @Override
    public boolean deletes(Object[] ids) {
        return false;
    }
  
    @Override
    public Admin checkLogin(String name, String pass) {
        Admin entity = adminDao.checkLogin(name, pass);
        return entity;
    }
  
    @Override
    public Admin checkLogin(String name) {
        Admin entity = adminDao.checkLogin(name);
        return entity;
    }
  
}
用来将页面传入的信息进行分析处理的服务器类,
package servlet;
  
import java.io.IOException;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
  
import javax.jms.Message;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
  
import com.sun.mail.util.BASE64DecoderStream;
import com.sun.mail.util.BASE64EncoderStream;
  
import service.AdminService;
import serviceImpl.AdminServiceImpl;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import bean.Admin;
  
public class AdminServlet extends HttpServlet {
  
    private AdminService adminService = new AdminServiceImpl();
  
    // 规定时间常量,为一天
    private final int EXPIRES =  60 * 60 * 24;
  
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // request.setCharacterEncoding("UTF-8");
  
        String oper = request.getParameter("oper");
        if ("adminLogin".equals(oper)) {
            adminLogin(request, response);
        }
        if ("login".equals(oper)) {
            request.getRequestDispatcher("./login.jsp").forward(request,
                    response);
        }
  
    }
  
    private void adminLogin(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
          
        //获取表单提交的数据
        String name = request.getParameter("name");
        String pass = request.getParameter("pass");
        String mark = request.getParameter("mark");
        String day = request.getParameter("day");
  
//      System.out.println(name + "====" + pass + "====" + mark
//              + "============" + day);
  
        //根据获取的数据向数据库发送数据请求,
        Admin entity = adminService.checkLogin(name, pass);
  
        //判断查询结果
        if (entity != null) {
            //判断用户是否进行记录密码和自动登陆的操作
            if ("mark".equals(mark)) {
                // 获取当前的时间并加上要保存的时间长度
                long time = System.currentTimeMillis()
                        + (EXPIRES * Integer.valueOf(day)*1000);
  
                // 声明cookie
                Cookie autoCookie = null;
                // 获取所有的cookie的数组
                Cookie cookies[] = request.getCookies();
                // 遍历判断
                for (Cookie cookie : cookies) {
                    // 判断是否已经存在cookie记录
                    if ("autoLogin".equals(cookie.getName())) {
                        // 存在即直接赋值
                        autoCookie = cookie;
                        // 并改变内容
                        String newValue = name
                                + ":"
                                + time
                                + ":"
                                + md5Value(pass + ":" + name + ":" + time
                                        + ":donghongyujava");
                        autoCookie.setValue(newValue);
                    } else {
                        String cookieValue = name
                                + ":"
                                + time
                                + ":"
                                + md5Value(pass + ":" + name + ":" + time
                                        + ":donghongyujava");
                        /*
                         * Control character in cookie value or attribute.
                         * 当存入的数据是中文时,cookie会出现乱码现象 需要进行编码的转换
                         */
                        autoCookie = new Cookie("autoLogin", URLEncoder.encode(
                                cookieValue, "UTF-8"));
                    }
                }
                // 设置cookie的最长的存活时间
                autoCookie.setMaxAge(EXPIRES * Integer.valueOf(day));
                response.addCookie(autoCookie);
            }
            // 将admin存入到session
            request.getSession().setAttribute("admin", entity);
            // 设置成功后就登陆操作
            request.getRequestDispatcher("./sc.jsp").forward(request, response);
        } else {
              
            request.setAttribute("msg", "用户名或密码错误请重试");
            request.getRequestDispatcher("./login.jsp").forward(request,
                    response);
        }
    }
  
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        this.doGet(request, response);
    }
  
    //加密的操作方法
    public String md5Value(String value) {
        try {
            // 获取md5加密的对象
            MessageDigest digest = MessageDigest.getInstance("md5");
            // 将传入的数据装换为byte字节,在用digest进行转换(加密)成新的字节数组,
            byte result[] = digest.digest(value.getBytes());
            //需要的jdk版本myeclipse2013中自带的com.sun.java.jdk.win32.x86_64_1.6.0.u43
            //jdk1.7.0_25没有相关的包
            BASE64Encoder encoder = new BASE64Encoder();
            // 返回加密后的数据
            return encoder.encode(result);
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return "";
    };
  
}
过滤器类,用来设置请求的编码
package filter;
  
import java.io.IOException;
  
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
  
public class EncodingFilter implements Filter {
    private FilterConfig filterConfig;
  
    @Override
    public void destroy() {
        // TODO Auto-generated method stub
    }
  
    @Override
    public void doFilter(ServletRequest req, ServletResponse res,
            FilterChain chain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) res;
        // 编码的设置
        request.setCharacterEncoding(filterConfig.getInitParameter("encoding"));
        chain.doFilter(request, response);
    }
  
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        // TODO Auto-generated method stub
        this.filterConfig=filterConfig;
    }
  
}
自动登录的过滤类,用来控制用户的自动的登录操作的相关
  
package filter;
  
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
  
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
  
import bean.Admin;
  
import service.AdminService;
import serviceImpl.AdminServiceImpl;
import sun.misc.BASE64Encoder;
  
public class AutoLoginFilter implements Filter {
  
    @Override
    public void destroy() {
        // TODO Auto-generated method stub
    }
  
    @Override
    public void doFilter(ServletRequest req, ServletResponse res,
            FilterChain chain) throws IOException, ServletException {
        // 强制造型为子类型
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) res;
        // 1.首先判断session
        Object object = request.getSession().getAttribute("admin");
  
        if (object != null) {
            request.getRequestDispatcher("./sc.jsp").forward(request, response);
            return;
        }
  
        // 2.判断cookie中是否存在用户的记录
        Cookie autoCookie = null;
        // 获取所有的cookie进行遍历判断
        Cookie cookies[] = request.getCookies();
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                // 判断是否已经存贮用户记录
                if ("autoLogin".equals(cookie.getName())) {
                    autoCookie = cookie;
                }
            }
  
            // 判断是否存在用户自动登录记录
            if (autoCookie == null) {
                chain.doFilter(request, response);
                return;
            }
  
            // 3.判断cookie的值
            // 获取cookie值
            String value = autoCookie.getValue();
            // 拆分
            String temps[] = value.split(":");
  
            // 判断长度是否是自定义的长度
            if (temps.length != 3) {
                chain.doFilter(request, response);
                return;
            }
            // 获取拆分后的数据
            String name = temps[0];
              
            String time = temps[1];
              
            String service_md5Value = temps[2];
  
            // 4.根据时间判断是否失效
            if (Long.valueOf(time) <= System.currentTimeMillis()) {
                chain.doFilter(request, response);
                return;
            }
  
            // 5.根据用户名查询数据
            AdminService adminService = new AdminServiceImpl();
            // 向数据库发送数据请求
            Admin entity = adminService.checkLogin(name);
            if (entity == null) {
                chain.doFilter(request, response);
                return;
            }
  
            // 6.拼接字符串在进行二次判断,
            String md5Temp = entity.getPass() + ":" + entity.getName() + ":"
                    + time + "donghongyujava";
            if (!(md5Value(md5Temp).equals(service_md5Value))) {
                chain.doFilter(request, response);
                return;
            }
  
            // 7.如果以上的判断都通过,那么就发送成功的转跳连接
            request.getSession().setAttribute("admin", entity);
            request.getRequestDispatcher("./sc.jsp").forward(request, response);
        } else {
            chain.doFilter(request, response);
            return;
        }
    }
  
    @Override
    public void init(FilterConfig arg0) throws ServletException {
        // TODO Auto-generated method stub
  
    }
  
    // 加密的操作函数
    public String md5Value(String value) {
        try {
            // 获取md5加密的对象
            MessageDigest digest = MessageDigest.getInstance("md5");
            // 将传入的数据装换为byte字节,在用digest进行转换(加密)成新的字节数组,
            byte result[] = digest.digest(value.getBytes());
            BASE64Encoder encoder = new BASE64Encoder();
            // 返回加密后的数据
            return encoder.encode(result);
  
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return "";
    };
  
}
web的配置,主要配置的是servlet和filter的配置
<?xml version="1.0" encoding="UTF-8"?>
<?XML:NAMESPACE PREFIX = [default] http://java.sun.com/xml/ns/javaee NS = "http://java.sun.com/xml/ns/javaee" /><web-app id=WebApp_ID xmlns="http://java.sun.com/xml/ns/javaee" version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <display-name>jqueryeasyui</display-name>
    <servlet>
        <servlet-name>AdminServlet</servlet-name>
        <servlet-class>servlet.AdminServlet</servlet-class>
    </servlet>
  
    <servlet-mapping>
        <servlet-name>AdminServlet</servlet-name>
        <url-pattern>/AdminOPer.do</url-pattern>
    </servlet-mapping>
  
  
    <filter>
        <filter-name>AutoLoginFilter</filter-name>
        <filter-class>filter.AutoLoginFilter</filter-class>
    </filter>
  
    <filter-mapping>
        <filter-name>AutoLoginFilter</filter-name>
        <url-pattern>/AdminOPer.do</url-pattern>
    </filter-mapping>
  
  
    <filter>
        <filter-name>EncodingFilter</filter-name>
        <filter-class>filter.EncodingFilter</filter-class>
        <!-- 设置传入的参数是UTF-8 -->
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
  
    <!-- 设置所有的请求操作都进行这个过滤的操作 -->
    <filter-mapping>
        <filter-name>EncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
  
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>
 
 
用来跳转的jsp代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
  
  
<HTML>
  <HEAD>
    <BASE href="<%=basePath%>">
      
      
      
    <META content=no-cache http-equiv=pragma>
    <META content=no-cache http-equiv=cache-control>
    <META content=0 http-equiv=expires>    
    <META content=keyword1,keyword2,keyword3 http-equiv=keywords>
    <META content="This is my page" http-equiv=description>
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  
    
    
    
   登录操作
要登陆的表单界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  
<%@include file="/common/tag.jsp"%>
<%@include file="/common/jquery.jsp"%>
  
  
  
<html>
<HEAD>
  
  
<META content=no-cache http-equiv=pragma>
<META content=no-cache http-equiv=cache-control>
<META content=0 http-equiv=expires>
<META content=keyword1,keyword2,keyword3 http-equiv=keywords>
<META content="This is my page" http-equiv=description>
<!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  
  
  
    <DIV>
        <!-- 登录错误时的提示操作 -->
        <B>${requestScope.msg}</B>
        <!-- ${pageContext.request.contextPath}代表当前项目路径下的操作 -->
        <FORM method=post action=${pageContext.request.contextPath}/AdminOPer.do>
            <TABLE border=1><TBODY><TR><TD>用户名:</TD><TD><INPUT type=text name=name></TD></TR><TR><TD>密码:</TD><TD><INPUT type=text name=pass></TD></TR><TR><TD align=right><INPUT value=mark type=checkbox name=mark></TD><TD>下次记住密码</TD></TR><TR><TD colSpan=2><INPUT value=1 type=radio name=day>一天
                        <INPUT value=3 type=radio name=day>三天 <INPUT value=7 CHECKED type=radio name=day>一周</TD></TR><TR><TD colSpan=2 align=middle><INPUT id=submit value=登录 type=submit><INPUT id=reset value=重置 type=reset></TD></TR></TBODY></TABLE>
            <INPUT value=adminLogin type=hidden name=oper>
        </FORM>
    </DIV>
成功登录后的界面jsp代码
  
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
  
  
<HTML>
<HEAD>
<BASE href="<%=basePath%>">
  
  
  
<META content=no-cache http-equiv=pragma>
<META content=no-cache http-equiv=cache-control>
<META content=0 http-equiv=expires>
<META content=keyword1,keyword2,keyword3 http-equiv=keywords>
<META content="This is my page" http-equiv=description>
<!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  
  
  
  
<!-- 从session域中取出已经存入的用户对象 -->
    欢迎  <B>${sessionScope.admin.name}</B>进入

java 自动登录代码的更多相关文章

  1. python自动登录代码

    公司有很多管理平台,账号有禁用机制,每个月至少登录一次,否则禁用.导致有时候想登录某个平台的时候,发现账号已经被禁用了,还得走流程解禁.因此用python实现了一下自动登录,每天定时任务运行一次.ps ...

  2. java自动生成代码

    看到这个标题,如果你以为真的可以完全自动生成,那你就太Naive啦 我这里想介绍的是,利用模板生成我们需要的代码 一.模板 首先来说说模板,常见的java模板有:FreeMarker.Velocity ...

  3. HTTPClient实现java自动登录人人网

    参考网址: https://passport.csdn.net/account/login  http://www.iteye.com/topic/638206 httpClient http://b ...

  4. [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

    前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时 ...

  5. java代码实现自动登录功能

    通常我们登录某网站,会有选择保存几天,或者是几个星期不用登录,之后输入该网站地址无需登录直接进入主页面,那么这就叫做自动登录,怎么实现呢,下面我以一个小例子来演示一下 登录页面:login.jsp & ...

  6. java浏览器控件jxbrowser(简单demo模拟自动登录与点击)

    写在前面: 老大让我写个脚本自动给他写dms有一段时间了,说实话当时不知道老大指的这个脚本是什么?毕竟是做web的,难道是写个数据库sql语句脚本吗?也就放在了一边.巧了,最近一个朋友说他之前写了个程 ...

  7. java如何在eclipse编译时自动生成代码

    用eclipse写java代码,自动编译时,如何能够触发一个动作,这个动作是生成本项目的代码,并且编译完成后,自动生成的代码也编译好了, java编辑器中就可以做到对新生成的代码的自动提示? 不生成代 ...

  8. JAVA_eclipse 保留Java文件时自动格式化代码和优化Import

    Eclipse 保存Java文件时自动格式化代码和优化Import Eclipse中format代码的快捷方式是ctrl+shift+F,如果大家想保存 java文件的时候 自动就格式化代码+消除不必 ...

  9. 转:实现Java Web程序的自动登录

    有很多Web程序中第一次登录后,在一定时间内(如2个小时)再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机).实现这个功能关键就是服务端要识别客户的身份.而用Cookie ...

随机推荐

  1. people have been arrested under other offences instead.

    Homosexuality is not explicitly banned in Egypt but gay people have been arrested under other offenc ...

  2. jquery实现css3动画

    jquery animate改变元素样式时,只支持数字值的变化,比如width,height等,但是css3属性状态值很多都不是数字值,而是字符串和数字混合在一起,比如translate(), rot ...

  3. Android深度探索--HAL与驱动开发----第四章读书笔记

    1. 下载.编译.测试源代码 创建存放下载文件的目录(repo) 下载repo脚本文件 创建用于存放源代码的目录 开始下载源代码. 2. 源代码目录含义摘要 Abi 应用程序二进制接口 Device ...

  4. 【C】制作简单的时钟减法程序

    #include <stdio.h> #include <stdlib.h> #include <string.h> #define ARGC_NUM 3 #def ...

  5. A与B相交后的图形查询

    按照A与B图形得到相交后的图斑 <!-- <%@ Page Language="C#" AutoEventWireup="true" CodeBeh ...

  6. 码农带你区分String类型的"=="和equals()

    大家玩csdn也可以关注我的博客额http://blog.csdn.net/wujiandong25253344 情形一: String s1= new String("hello" ...

  7. nginx 在windows平台上对asp.net做反向代理

    代理服务器 当客户机向站点提出请求时,请求将转到代理服务器.然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器.内容服务器再通过该通道将结果回传给代理服务器.代理服务器将检索到的信 ...

  8. Guess Number Higher or Lower II--困惑

    今天,试着做了一下LeetCode OJ上面的第375道题:Guess Number Higher or Lower II 原题链接:https://leetcode.com/problems/gue ...

  9. 华为交换机sflow配置

    华为交换机sflow功能配置 1.配置交换机的sflow流发送 [系统视图]sflow agen ip  x.x.x.x                 设置sflow输出源 [系统视图]sflow ...

  10. google你懂得

    地址 https://github.com/racaljk/hosts