Java如何实现Socket编程,代码讲解并实现简单通讯聊天
前言socket底层、原理这些东西一搜一堆,这里就不重点说这些了
这里主要以代码形式大体说一下步骤过程,直接以注释的形式表现出来了
实现主要过程:
启动服务端 > 启动客户端 > 客户端主动向服务端发送请求 > 服务端返回结果 > 客户端再次发送请求 > 服务端再次返回结果……
代码服务端Server12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364import java.io.*;import java.net.*;/** * 服务端 */public class Server { public static void main(String args[]) { try{ ServerSocket server = null; try{ ...
Nginx如何搭配Tomcat通过域名访问Java项目
前言假设Java项目已经打好war包丢到Tomcat的webapps文件下
配置Tomcat(server.xml)修改标签下的Host标签,注意:Host标签及Context标签可以重复写多个
name:配置域名,通过域名直接访问tomcat下的java项目 JavaDemo,例子中:访问 www.baidu.com 即可访问到JavaDemo项目path:项目层级路径,此处为空,如果填入值,则需要访问时也填入该值,例如:path=”test” 则访问 www.baidu.com/test 才能找到该项目docBase:JavaDemo项目的相对/绝对路径,我这里是绝对路径1234<Host name="www.baidu.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve&q ...
关于在Nginx中如何配置nginx.conf的各种问题
IP捆绑域名访问域名,打开指定的静态html页面前提:先把域名解析到ip下,才能捆绑使用server_name :这里配置自己的域名
123456789server { listen 80; # server_name www.renyuxin.cn; # 域名 server_name 127.0.0.1; # ip location / { root html; index index.html index.htm; }}
代理转发访问资源目录使用域名或ip,访问服务器文件夹。域名 + /静态资源相对路径
123456server{ listen 80; # server_name file.renyuxin.cn; # 域名 server_name 127.0.0.1; # ip root /usr/local/nginx/html/files;}
访问HTMLip或域名直接访问服务器上的index.html
12345678 ...
Java如何实现简单MD5加密及密码验证
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java.util.Arrays; /** * M ...
Java中如何实现在jsp页面中进行MySQL数据库同步数据
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="java.io.*,java.util.*,java.sql.*"%><%@ page import="javax.servlet.http.*,javax.servlet.*" %><%@ taglib uri="http:/ ...
Java中如何引入极光推送
前言开发移动端app时,需要系统进行即时通讯、消息通知提醒,这时候就用到了:极光推送我这里使用的是springboot简单贴下代码整理一篇完整的,已经测试过了,直接用就OK了
引入maven依赖12345678910<dependency> <groupId>cn.jpush.api</groupId> <artifactId>jiguang-common</artifactId><version>1.1.7</version></dependency><dependency><groupId>cn.jpush.api</groupId> <artifactId>jpush-client</artifactId> <version>3.4.3</version></dependency>
极光推送工具类 JPushUtil123456789101112131415161718192021 ...
Java中如何实现发送客户留言邮件
场景甲客户访问B的公司官网时,发现乙公司的产品可以引进,所以想通过官网客户留言的方式与乙沟通。客户在某公司官网留言是不需要登录邮箱的,甲客户填入自己的留言,点击提交。这时候就需要乙公司的A邮箱发送邮件到乙公司的B邮箱,邮件内容为甲客户的留言信息。发送人和接收人均为乙公司,只不过使用不同的邮箱
springboot集成的mail这种方式发送邮件,需要几个必需的参数:发送人邮箱服务器(host)、发送人账号(username)、发送人授权码(password)。邮箱服务器可以去搜索一下,qq邮箱:smtp.qq.com 163邮箱:smtp.163.com授权码,需要登录发送人邮箱,从账号设置里面进行获取,开通POP3/SMTP提供的授权码,如果没有授权码,使用真实密码我用的是163的邮箱,所以以163的为例子
引入maven依赖1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail&l ...
Java中关于IO流学习之输入流与输出流
Java流类图结构
流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。
IO流的分类
根据处理数据类型的不同分为:字符流和字节流
根据数据流向不同分为:输入流和输出流
字符流和字节流字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。 字节流和字符流的区别:
读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。
字节流:一次读入或读出是8位二进制。
字符流:一次读入或读出是16位二进制。
设备上的数据无论是图片或者视频,文字,它们都以二进制存储的。二进制的最终都是以一个8位为数据单元进行体现,所以计算机中的最小数据单元就是字节。意味着,字节流可以处理设备上的所有数据,所以字节流一样可以处理字符数据。
结论:只要是处理纯文本数 ...
Java如何实现后台验证身份证号真实度
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.GregorianCalendar;import java.util.Hashtable;import java.util. ...
Python中使用Scrapy+Splash实现动态数据爬取
前言现在很多网站都是在浏览器中使用js动态渲染页面,直接意味着无法直接从原始页面中爬取到数据。所以这里就使用可以提供js渲染解析功能的Scrapy-Splash
安装Scrapy-Splash首先,要明白一点,Scrapy-Splash是需要在Docker中使用的,所以前期工作得做好
安装Docker【Docker在Linux下载安装及部署】
安装scrapy-splashDocker安装成功后,在Docker中安装scrapy-splash,执行该命令:
1docker run -d -p 8050:8050 scrapinghub/splash
测试安装成功,再从浏览器上测试一下,ip为安装服务器的路径。如果能打开如图所示的页面,就意味着安装成功了
1http://192.168.1.104:8050
具体代码1pip install scrapy-splash
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647from scrapy_splash im ...