一个微信公众号的诞生(一)开发环境的搭建
写在前面
最近参加一个服务外包的比赛,然后就开始了征途,试过py,之后我还是决定用熟悉一点的java.以下内容,我都是在ubuntu 16.04LTS上进行,不保证其他系统适用.(ps:我是在完成了全部功能之后写的这一系列文章,也不能算是教程了,只能算是自己对开发过程的记录)
过程中可以说是体会到了黔驴技穷之感,革命尚未成功,同志还需努力啊.
下载
JDK配置
- jdk 是java开发必不可少的,不多说. 下载地址
- Java环境变量配置
- 修改/etc/profile文件
vim /etc/profile
在profile文件末尾加入:
export JAVA_HOME=/usr/local/jdk1.8.0_121 //jdk安装目录
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 验证
shell输入
java -version
出现下面的提示
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
Tomcat下载
汤姆猫和杰瑞==
tomcat感觉就像是一个容器,里面装着servlet,jsp,也可以是静态网页. 下载地址
MySQL下载
数据库小白还是老老实实用MySQL好了,听说巨坑??
安装sudo apt-get install mysql-server
就那么简单.然后安装过程中要设置一下root用户的登录密码.
配置
Tomcat
先来看一下安装以后的目录,
主要说一下:bin目录下是一些可执行脚本.conf目录下是tomcat的配置文件.webapps里就是放我们的java web 应用的,里面还有一大堆examples.
- 启动服务.进入bin目录,执行
startup.sh
.接下来访问http://localhost:8081/
,出现下面的界面就说明成功了. - 修改端口.进入conf目录,打开
server.xml
.修改Connector port后的参数,如下,默认8080d端口,我把它改成了8081.
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
- Tomcat Manager配置
vim /usr/local/tomcat/conf/tomcat-users.xml
增加
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<user username="tomcat" password="yourpassword" roles="tomcat,manager"/>
<user username="role1" password="yourpassword" roles="role1"/>
<user username="both" password="yourpassword" roles="tomcat,role1"/>
- 常见坑.启动时报错
Tomcat Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
.应该是java环境变量的问题,但是系统环境的变量已经配置好了.于是又在tomcat/bin/catalina.sh 添加
export JAVA_HOME=/usr/local/jdk1.8.0_121
export JRE_HOME=/usr/local/jdk1.8.0_121 /jre
MySQL
查看MySQL进程
ps -aux|grep mysql
mysql 1379 0.0 1.9 1236388 155188 ? Ssl 17:42 0:01 /usr/sbin/mysqld
lee 13163 0.0 0.0 15964 960 pts/7 S+ 19:04 0:00 grep --color=auto mysql
检查MySQL监听端口
netstat -nlt|grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
访问MySQL
msql -u root -p
输入安装时设置的密码.
修改字符编码为utf-8
试几个简单的命令
接下来输入
show variables like '%char%';
查看字符编码;
默认不是utf-8,打开MySQL服务器的配置文件my.cnf,添加
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
重启MySQLsudo /etc/init.d/mysql restart
,再次查看字符编码看是否生效了.
IntelliJ IDEA
微信测试号
测试号申请,个人公众号的话,不开放很多接口,很不方便.开发阶段用测试号应该不错.而且网页回调域名也支持用ip地址.
初试Java web
maven
maven是一个类似gradle的东西(笑).
项目目录,resources目录下为资源文件,webapp下是网页的配置和jsp文件.pom.xml(Project Object Model),可以说是项目的配置文件吧,依赖管理也在这.然后创建并设置java目录为source folders.
JSP页面
接下来看webapp下的引人注目的index.jsp.
嗯.还可以和javascript混合编程.感觉好强大.maven导出war包
然后放到tomcat/webapps下或者直接在Tomcat Manager里部署.
打开网页.一个简单java web 应用差不多这样..
Servlet测试
Servlet是最重要的一个环节,也就是响应请求和发送网页请求的.
创建一个TestServlet继承HttpServlet,重写doGet和doPost方法.这两个方法在以后微信公众号开发中要用到多次(反正是涉及网页请求的:微信的Token验证,网页授权回调,获取用户信息.)
在web.xml里配置servlet.
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>Servlet.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/test1</url-pattern>
</servlet-mapping>
也可以在TestServlet里用注释方法配置@WebServlet(name = "TestServlet",urlPatterns={"/test1"})