写在前面

最近参加一个服务外包的比赛,然后就开始了征途,试过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"})

未完待续...