写在前面

最近参加一个服务外包的比赛,然后就开始了征途,试过py,之后我还是决定用熟悉一点的java.以下内容,我都是在ubuntu 16.04LTS上进行,不保证其他系统适用.(ps:我是在完成了全部功能之后写的这一系列文章,也不能算是教程了,只能算是自己对开发过程的记录)

过程中可以说是体会到了黔驴技穷之感,革命尚未成功,同志还需努力啊.

下载

JDK配置

  • jdk 是java开发必不可少的,不多说. 下载地址
  • Java环境变量配置
  • 修改/etc/profile文件 vim /etc/profile 在profile文件末尾加入:
1
2
3
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 出现下面的提示
1
2
3
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.
1
2
3
 <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  • Tomcat Manager配置 vim /usr/local/tomcat/conf/tomcat-users.xml 增加
1
2
3
4
5
6
  <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 添加
1
2
export JAVA_HOME=/usr/local/jdk1.8.0_121
export JRE_HOME=/usr/local/jdk1.8.0_121 /jre

MySQL

查看MySQL进程

1
2
3
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监听端口

1
2
netstat -nlt|grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN

访问MySQL

1
msql -u root -p

输入安装时设置的密码. 修改字符编码为utf-8 试几个简单的命令 接下来输入show variables like '%char%';查看字符编码; 默认不是utf-8,打开MySQL服务器的配置文件my.cnf,添加

1
2
3
4
5
[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.

1
2
3
4
5
6
7
8
9
 <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"})

未完待续...