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. c# 字符串操作

    一.字符串操作 //字符串转数组 string mystring="this is a string" char[] mychars=mystring.ToCharArray(); ...

  2. 运行html代码

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. oracle使用sqlplus创建表空间

    一.打开命令行窗口,输入以下命令:sqlplus /nolog 回车后,将出现提示符 SQL>, 这时输入conn / as sysdba 一般即可登录,如果失败的话,可以试一下用conn sy ...

  4. Javascript常用方法函数收集(一)

    1.字符串长度截取 function cutstr(str, len) { var temp, icount = 0, patrn = /[^\x00-\xff]/, strre = "&q ...

  5. 调用javaAPI访问hive

    jdbc远程连接hiveserver2 2016-04-26 15:59 本站整理 浏览(425)     在之前的学习和实践Hive中,使用的都是CLI或者hive –e的方式,该方式仅允许使用Hi ...

  6. 基于ReentrantLock的AQS的源码分析(独占、非中断、不超时部分)

    刚刚看完了并发实践这本书,算是理论具备了,看到了AQS的介绍,再看看源码,发现要想把并发理解透还是很难得,花了几个小时细分析了一下把可能出现的场景尽可能的往代码中去套,还是有些收获,但是真的很费脑,还 ...

  7. Java并发编程学习笔记(二)——对象的共享

    主要概念:可见性.重排序.失效数据.最低安全性.发布.逸出.线程封闭(Ad-hoc.栈封闭.ThreadLocal类).不变性.Final域.事实不可变对象. 1.在没有同步的情况下,编译器.处理器以 ...

  8. 【C】二级指针探秘 & 星号的两种用法(1.与基本类型结合形成另一种类型,比如与int结合形成int* 2.取值操作)

    1)问题:二级指针到底是什么?怎么用的?怎么存放的? #include <stdio.h> #define TEST_ADDR 0x12FF40 void main() { int a = ...

  9. php大力力 [047节] 寻找程序员的方法和应用

    http://www.proginn.com 程序员客栈 程序员客栈是什么? 程序员客栈,程序员的经纪人.第一阶段,我们通过履历.作品.专业社区影响力.技能树帮助程序员立体地展现成就和价值,不被简历束 ...

  10. Unity3D 处理Label的颜色代码

    UILabel m_name = transform.Find("Name").GetComponent<UILabel>(); m_name.text = GetNa ...