旅游门户网站中的工具类

随机字符串UUID

/**
 * 产生UUID随机字符串工具类
 */
public final class UuidUtil {
    private UuidUtil(){}
    public static String getUuid(){
        return UUID.randomUUID().toString().replace("-","").toUpperCase();
    }
    /**
     * 测试
     */
    public static void main(String[] args) {
        System.out.println(getUuid());
    }
}

发送邮件

public class MailUtils {
    // 发件人 账号和密码
    private static final String USER = "xxxx@163.com"; // 发件人称号,同邮箱地址
    private static final String PASSWORD = "xxxxxx"; // 如果是qq邮箱可以使户端授权码,或者登录密码


    // SMTP服务器(这里用的163 SMTP服务器)
    public static final String MEAIL_163_SMTP_HOST = "smtp.163.com";
    public static final String SMTP_163_PORT = "25";// 端口号,这个是163使用到的;QQ的应该是465或者875


    /**
     *
     * @param to 收件人邮箱
     * @param text 邮件正文
     * @param title 标题
     */
    /* 发送验证信息的邮件 */
    public static boolean sendMail(String to, String text, String title){
        try {
            final Properties props = new Properties();
            props.setProperty("mail.user",USER);
            props.setProperty("mail.password",PASSWORD);
            props.setProperty("mail.smtp.host", MEAIL_163_SMTP_HOST);
            props.setProperty("mail.smtp.port", SMTP_163_PORT);
            props.setProperty("mail.smtp.socketFactory.port", SMTP_163_PORT);
            props.setProperty("mail.smtp.auth", "true");
            props.setProperty("mail.smtp.socketFactory.class", "SSL_FACTORY");

           /* props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.host", "smtp.qq.com");

            // 发件人的账号
            props.put("mail.user", USER);
            //发件人的密码
            props.put("mail.password", PASSWORD);*/

            // 构建授权信息,用于进行SMTP进行身份验证
            Authenticator authenticator = new Authenticator() {
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    // 用户名、密码
                    String userName = props.getProperty("mail.user");
                    String password = props.getProperty("mail.password");
                    return new PasswordAuthentication(userName, password);
                }
            };
            // 使用环境属性和授权信息,创建邮件会话
            Session mailSession = Session.getInstance(props, authenticator);
            // 创建邮件消息
            MimeMessage message = new MimeMessage(mailSession);
            // 设置发件人
            String username = props.getProperty("mail.user");
            InternetAddress form = new InternetAddress(username);
            message.setFrom(form);

            // 设置收件人
            InternetAddress toAddress = new InternetAddress(to);
            message.setRecipient(Message.RecipientType.TO, toAddress);

            // 设置邮件标题
            message.setSubject(title);

            // 设置邮件的内容体
            message.setContent(text, "text/html;charset=UTF-8");
            // 发送邮件
            Transport.send(message);
            return true;
        }catch (Exception e){
            e.printStackTrace();
        }
        return false;
    }

    public static void main(String[] args) throws Exception { // 做测试用
        MailUtils.sendMail("xxxxxx@qq.com","你好,这是一封测试邮件,无需回复。","测试邮件");
        System.out.println("发送成功");
    }


}

Jedis工具类(redis)

/**
 * Jedis工具类
 */
public final class JedisUtil {
    private static JedisPool jedisPool;

    static {
        //读取配置文件
        InputStream is = JedisPool.class.getClassLoader().getResourceAsStream("jedis.properties");
        //创建Properties对象
        Properties pro = new Properties();
        //关联文件
        try {
            pro.load(is);
        } catch (IOException e) {
            e.printStackTrace();
        }
        //获取数据,设置到JedisPoolConfig中
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(Integer.parseInt(pro.getProperty("maxTotal")));
        config.setMaxIdle(Integer.parseInt(pro.getProperty("maxIdle")));

        //初始化JedisPool
        jedisPool = new JedisPool(config, pro.getProperty("host"), Integer.parseInt(pro.getProperty("port")));


    }


    /**
     * 获取连接方法
     */
    public static Jedis getJedis() {
        return jedisPool.getResource();
    }

    /**
     * 关闭Jedis
     */
    public static void close(Jedis jedis) {
        if (jedis != null) {
            jedis.close();
        }
    }
}

JDBC数据库连接池

public class JdbcUtils {
    // 1.  声明静态数据源成员变量
    private static DataSource ds;

    // 2. 创建连接池对象
    static {
        // 加载配置文件中的数据
        InputStream is = JdbcUtils.class.getClassLoader().getResourceAsStream("druid.properties");
        Properties pp = new Properties();
        try {
            pp.load(is);
            // 创建连接池,使用配置文件中的参数
            ds = DruidDataSourceFactory.createDataSource(pp);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    // 3. 定义公有的得到数据源的方法
    public static DataSource getDataSource() {
        return ds;
    }

    // 4. 定义得到连接对象的方法
    public static Connection getConnection() throws SQLException {
        return ds.getConnection();
    }

    // 5.定义关闭资源的方法
    public static void close(Connection conn, Statement stmt, ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {}
        }

        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {}
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {}
        }
    }

    // 6.重载关闭方法
    public static void close(Connection conn, Statement stmt) {
        close(conn, stmt, null);
    }
}

Servlet生成随机验证码

/**
 * 验证码
 */
@WebServlet("/checkCode")
public class CheckCodeServlet extends HttpServlet {
   public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
      
      //服务器通知浏览器不要缓存
      response.setHeader("pragma","no-cache");
      response.setHeader("cache-control","no-cache");
      response.setHeader("expires","0");
      
      //在内存中创建一个长80,宽30的图片,默认黑色背景
      //参数一:长
      //参数二:宽
      //参数三:颜色
      int width = 80;
      int height = 30;
      BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
      
      //获取画笔
      Graphics g = image.getGraphics();
      //设置画笔颜色为灰色
      g.setColor(Color.GRAY);
      //填充图片
      g.fillRect(0,0, width,height);
      
      //产生4个随机验证码,12Ey
      String checkCode = getCheckCode();
      //将验证码放入HttpSession中
      request.getSession().setAttribute("CHECKCODE_SERVER",checkCode);
      
      //设置画笔颜色为黄色
      g.setColor(Color.YELLOW);
      //设置字体的小大
      g.setFont(new Font("黑体",Font.BOLD,24));
      //向图片上写入验证码
      g.drawString(checkCode,15,25);
      
      //将内存中的图片输出到浏览器
      //参数一:图片对象
      //参数二:图片的格式,如PNG,JPG,GIF
      //参数三:图片输出到哪里去
      ImageIO.write(image,"PNG",response.getOutputStream());
   }
   /**
    * 产生4位随机字符串 
    */
   private String getCheckCode() {
      String base = "0123456789ABCDEFGabcdefg";
      int size = base.length();
      Random r = new Random();
      StringBuffer sb = new StringBuffer();
      for(int i=1;i<=4;i++){
         //产生0到size-1的随机值
         int index = r.nextInt(size);
         //在base字符串中获取下标为index的字符
         char c = base.charAt(index);
         //将c放入到StringBuffer中去
         sb.append(c);
      }
      return sb.toString();
   }
   public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      this.doGet(request,response);
   }
}

分页组件

public class PageBean<T> implements Serializable {
    private int totalSize;//总条数   查询数据库
    private int pageSize;//每页显示的条数  页面传递,固定
    private int totalPage;//总页数   计算   totalSize/pageSize
    private int currentPage;//当前页码   页面传递
    private List<T> list;//  查询数据库  limit
    }

用于封装后端返回前端数据对象

/**
 * 用于封装后端返回前端数据对象
 */
public class ResponseInfo implements Serializable {
    private boolean flag;//后端返回结果正常为true,发生异常返回false
    private Object data;//后端返回结果数据对象
    private String errorMsg;//发生异常的错误消息

    //无参构造方法
    public ResponseInfo() {
    }
    public ResponseInfo(boolean flag) {
        this.flag = flag;
    }
    /**
     * 有参构造方法
     * @param flag
     * @param errorMsg
     */
    public ResponseInfo(boolean flag, String errorMsg) {
        this.flag = flag;
        this.errorMsg = errorMsg;
    }
    /**
     * 有参构造方法
     * @param flag
     * @param data
     * @param errorMsg
     */
    public ResponseInfo(boolean flag, Object data, String errorMsg) {
        this.flag = flag;
        this.data = data;
        this.errorMsg = errorMsg;
    }

    public boolean isFlag() {
        return flag;
    }

    public void setFlag(boolean flag) {
        this.flag = flag;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public String getErrorMsg() {
        return errorMsg;
    }

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值