配置JSP开发环境

配置JSP开发环境

学校组织学习JSP,配置过程起了不少幺蛾子,记录一下,万一哪天电脑炸了可以回来看看。

1.安装JAVA JDK

1.下载安装JDK

这个默认配置完了,顺便写一下。

JDK下载地址:Java SE Development Kit 8u241

双击下载的JDK安装包可执行文件开始安装,第一次为jdk的安装,第二次为jre的安装。建议两个文件夹放一块。JDK文件夹里包含jre。


JRE和JDK是啥:
JRE:Java Runtime Environment
JDK:Java Development Kit
JRE是java运行时环境,包含了java虚拟机,java基础类库。java语言编写的程序运行所需要的软件环境,提供给运行java程序的用户使用。
JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。


顺便提一下:
以前下载页面长这样,所以很多博客教程给的下载地址是下面的页面:
那时下载JDK是不需要任何其他操作的,点击即可下载。


现在被Oracle公司收购了,需要注册Oracle账号。


2.配置环境变量

安装完成之后配置环境变量。

  1. JAVA_HOME环境变量。
    作用:它指向jdk的安装目录,Tomcat就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
    配置方法:在系统变量里点击新建,变量名填写JAVA_HOME,变量值填写JDK的安装路径。
    放的是jdk整个根目录

  2. CLASSPATH环境变量。
    作用:是指定类搜索路径,JVM通过CLASSPATH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中;或者直接把lib路径填在这里。当然,当前目录“.”也必须加入到该变量中,为了更快搜索到结果。

    另外:jdk1.5版本之后可不需要设置CLASS_PATH,建议继续设置以保证向下兼用问题。
    放的是jdk的lib目录和.路径

  3. PATH环境变量
    作用:指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。
    在系统变量里找到Path变量,这是系统自带的,不用新建。放的是jdk的bin目录

linux下是在配置文件里加上:

1
2
3
export JAVA_HOME=/lib/java/jdk-15.0.1
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib

路径改为自己的。

3.测试

打开命令行分别输入javajavacjava -version,没问题就ok了。


2.安装Tomcat

Tomcat:下载地址

1.这里演示解压版

解压,注意文件目录名不能有中文和空格。

2.环境变量配置

目录介绍如下:

  • bin:二进制执行文件。里面最常用的文件是startup.bat,如果是 Linux 或 Mac 系统启动文件为 startup.sh
  • conf:配置目录。里面最核心的文件是server.xml。可以在里面改端口号等。默认端口号是8080,也就是说,此端口号不能被其他应用程序占用。
  • lib:库文件。tomcat运行时需要的jar包所在的目录
  • logs:日志
  • temp:临时产生的文件,即缓存
  • webapps:web的应用程序。web应用放置到此目录下浏览器可以直接访问
  • work:编译以后的class文件。
  1. 添加TOMCAT_HOME的环境变量,值为盘符:\你解压的目录\tomcat根目录

  2. 添加CATALINA_HOME环境变量,值为%TOMCAT_HOME%

  3. 添加CATALINA_BASE环境变量,值为%TOMCAT_HOME%。

  4. 系统变量Path的最后面添加

    %CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar

    免安装版本需要配置这些环境变量,写成带“%”号是用变量替换路径,如需更改,只要更改TOMACAT_HOME一处路径即可。

3.Tomcat配置

  1. 管理员的配置:进入根目录下的conf文件,编辑tomcat-users.xml以修改用户名和密码
1
2
3
4
5
6
7
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
-->
  1. 解决乱码问题

    可能会出现由于出现字符编码不同导致的乱码:
    找到根目录的conf文件下的logging.properties文件,编辑找到 java.util.logging.ConsoleHandler.encoding = utf-8

    改为java.util.logging.ConsoleHandler.encoding = GBK

  2. 启动服务

    在根目录下bin文件夹里点击startup.bat批处理文件,最后出现

    ...org.apache.catalina.startup.Catalina.start Server startup in [756] milliseconds..

    服务启动成功后,浏览器打开本地默认端口localhost:8080,出现下面页面表示安装成功:


3.将 Tomcat 和 Eclipse 相关联

学校老师教学都用的Eclipse,所以先用Eclipse试一下。由于以前拿eclipse学过一点java,本人用的版本是这个:

默认配置步骤按照菜鸟教程走,当然,也不乏视频教程:JavaWeb视频教程。但是其中出现了许多很有趣的问题。

1.Eclipse的首选项里没有server设置

Eclipse首选项里原本是没有server选项的,这里我参考了博主七月晓晓翁的帖子:eclipse没有server选项解决方法
首先:

  1. 安装新软件,找到对应的选项即可

  1. 添加插件Kepler - http://download.eclipse.org/releases/kepler

  1. 点击Ok,找到选项Web,XML, Java EE and OSGi Enterprise Development 全部勾选。一直next即可。注意:这里如果你没有勾选勾选Group items by category是没有Web,XML, Java EE and OSGi Enterprise Development这一项分组的。

2.给Eclipse换镜像源

在刚才我们的一通操作,认识到Eclipse从默认源下载资源的速度令人骂娘,所以给它换个源。参考博客eclipse 更换国内镜像。把所有download.eclipse.org换成国内镜像地址即可。

1.企业贡献:

搜狐开源镜像站:http://mirrors.sohu.com/

网易开源镜像站:http://mirrors.163.com/

首都在线科技股份有限公司:http://mirrors.yun-idc.com/

2.大学教学:

镜像较多内容:
西安电子科技大学: ftp://linux.xidian.edu.cn

哈尔滨工业大学: http://run.hit.edu.cn/

大连理工大学: http://mirror.dlut.edu.cn/

北京理工大学:
http://mirror.bit.edu.cn (IPv4 only)

http://mirror.bit6.edu.cn (IPv6only)

北京交通大学: http://mirror.bjtu.edu.cn (IPv4 only)

http://mirror6.bjtu.edu.cn (IPv6 only)

http://debian.bjtu.edu.cn(IPv4+IPv6)

兰州大学:http://mirror.lzu.edu.cn/

厦门大学:http://mirrors.xmu.edu.cn/

上海交通大学:
http://ftp.sjtu.edu.cn/ (IPv4 only)

http://ftp6.sjtu.edu.cn (IPv6 only)

清华大学:
http://mirrors.tuna.tsinghua.edu.cn/ (IPv4+IPv6)

http://mirrors.6.tuna.tsinghua.edu.cn/ (IPv6 only)

http://mirrors.4.tuna.tsinghua.edu.cn/ (IPv4 only)

天津大学:http://mirror.tju.edu.cn/

浙江大学:http://mirrors.zju.edu.cn/

中国科学技术大学:
http://mirrors.ustc.edu.cn/ (IPv4+IPv6)

http://mirrors4.ustc.edu.cn/

http://mirrors6.ustc.edu.cn/

西南大学:http://linux.swu.edu.cn/swudownload/Distributions/

华中科技大学:http://mirrors.hust.edu.cn/

东北大学:
http://mirror.neu.edu.cn/(IPv4 only)

http://mirror.neu6.edu.cn/ (IPv6 only)

电子科技大学:http://ubuntu.uestc.edu.cn/

青岛大学:http://mirror.qdu.edu.cn/

东软信息学院: http://mirrors.neusoft.edu.cn/

南京师范大学:http://mirrors.njnu.edu.cn/

3.Eclipse不支持tomcat9.0版本

我们在操作过程中发现没有我们下载的Apacha Tomat v9.0选项,尽管我的eclipse的版本是相对较新的。所以这里参考eclipse不支持tomcat8.0版本解决,在插件市场marketplace下载插件Eclipse JST Server Adapters,注意下载第一个:


4.InterliJ IDEA配置Tomcat

IDEA Ultimate版:官网下载

我以前用的IDEA的社区版,无法New一个Web Appplication,当然,有不少大佬利用maven来创建工程:IDEA Community(社区版) 使用Maven创建Web工程 并部署tomcat。但是我这样的萌新还是先用集成好的Ultimate版靠谱。

JB公司产品激活方法自询。


然后就是新建项目了:

搞定了,不得不说简直是新手的福音。
不过默认设置为每次修改jsp文件,重新生成页面都要重启tomcat,很麻烦。我们改为每次保存时刷新。

OK,现在可以快乐地学习了。

5.使用JDBC连接mysql数据库

在视图中连接并查看数据库

记得在idea的数据库连接设置里填上时区。

1
2
3
4
5
6
7
8
# 查看数据库时区 mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | EST |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)

mysql默认使用的SYSTEM时区,即EST时区,查询相关资料可知,EST时区要比北京时间(东八区)慢13个小时,在数据库中的表现即为:

1
2
3
4
5
6
7
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2017-03-09 21:24:39 |
+---------------------+
1 row in set (0.00 sec)

修改方式一:

1
2
3
4
5
6
# 设置全局时区 mysql> set global time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)
# 设置时区为东八区 mysql> set time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)
# 刷新权限使设置立即生效 mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
1
2
3
4
5
6
7
8
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | EST |
| time_zone | +08:00 |
+------------------+--------+
2 rows in set (0.00 sec)

修改方式二:

1
vi /etc/mysql/my.cnf

在mysqld下边的配置中添加一行:

1
default-time_zone = '+8:00'

重启mysql

1
service mysql restart

使用JDBC连接mysql数据库

将数据库连接的依赖包放在项目的lib文件夹里。