以CentOS7为例,其他发行,如:Ubuntu同样适用.
一.安装jdk.
参考我之前的博客:
https://my.oschina.net/u/3887035/blog/1862936
二.如果你要用到数据库(以下参考我之前的博客).
1.MariaDB安装配置除错:https://my.oschina.net/u/3887035/blog/1862094
2.Java连接数据库MariaDB:https://my.oschina.net/u/3887035/blog/1862094
3.MySQL安装配置除错:https://my.oschina.net/u/3887035/blog/1862333
4.Java连接数据库MySQL:https://my.oschina.net/u/3887035/blog/1863047
三.下载apache-tomcat
apache tomcat官网:
在download栏选择一个版本(本文使用的7.0.82),然后选则下载二进制文件还是源码(建议使用源码,使用binary的话,参考官网的documentation),
当然,你可以使用wget -i -c url(文件的url)获取代码.
四.配置
1.解压
根据你压缩包类型不同,解压方式不同:
.tar.gz: tar -zxf xxx.tar.gz
.tar.bz: tar -jxf xxx.tar.bz
.tar.xz: tar -Jxf xxx.tar.xz
.zip: unzip xxx.zip
......
2.将解压后的文件夹放到/usr/local下或者/opt及其子目录下(为了规范).
可以: ln -s /usr/local/apache-tomcat-7.0.82 /usr/local/apache-tomcat方便访问.
3.建立快捷方式
为了更加快捷的开启和关闭tomcat,可以在/usr/bin下建立软连接:
cd /usr/bin
ln -s /usr/local/apache-tomcat-xxx/bin/startup.sh tomcat-startup
ln -s /usr/local/apache-tomcat-xxx/bin/shutdown.sh tomcat-shutdown
有时,代码调试的时候,可能需要不断重启服务器,可以写个shell脚本,一个命令完成重启:
文件为tomcat-restart.sh
代码如下:
#!/usr/bin/bash
# Project: This progress is uesd to restart tomcat.
# History: 2018/07/26 first release!
# Author: care(email:2010267516@qq.com)
str=`netstat -tunl | grep 8080`
if [ ! -z "${str}" ];then
echo -e "Restarting tomcat......"
tomcat-shutdown
echo -e
tomcat-startup
else
echo -e "Starting tomcat......"
tomcat-startup
fi
exit 0
然后:
chmod a+x tomcat-restart.sh
ln -s ...(path)/tomcat-restart.sh /usr/bin/tomcat-restart
4.环境参数的配置
需要在/etc/profile中添加:
export CATALINA_BASE=/usr/local/apache-tomcat
export CATALINA_HOME=/usr/local/apache-tomcat
export CATALINA_TMPDIR=/usr/local/apache-tomcat/temp
如果安装jdk时配置好了的话,就不用再配置JAVA_HOME和JRE_HOME了,当然,要把 /usr/local/apache-tomcat/lib/*添加到CLASSPATH中去.
五.项目管理
1.tomcat顶级目录中主要有:
bin(binary,二进制执行文档)
conf(configuration,配置目录)
lib(库)
logs(日志目录,web server的访问日志都记录在该目录的catalina.out.你在servlet或jsp中System.out.println()输出的内容也在这里)
webapps(你项目代码的存放目录
2.关于webapps目录
里面有:
docs examples host-manager manager ROOT
(1)重点说一下ROOT
你用浏览器访问: http://localhost:8080时弹出tomcat的主页,相关代码就是放在这个ROOT目录内.
ROOT内的第一级目录,你可以放置你的html,jsp等,然后用 http://localhost:8080/file.html(or jsp)访问.
对于你的class文件,放在ROOT/WEB-INFO/classes目录内,要保留包的目录结构(比如:你的java代码中package test,那么javac -d ...后,class是在test目录内的,所以你的ROOT/WEB-INFO/classes里应该是test/file.class而不是file.class
ROOT/WEB-INFO内的web.xml是配置文件,基本配置下面会讲.
(2)新项目TEST
在webapps下新建目录TEST,然后参照ROOT同样建立起WEB-INFO,WEB-INFO下有web.xml和classes目录.
内容,配置什么的和ROOT下一样的方法.
访问时,使用 http://localhost:8080/TEST/file.html(or jsp) <注意带上项目名,即目录名TEST>
3.配置web.xml
基本配置格式(在<web-app>...</web-app>中添加:
<servlet>
<servlet-name>testFile</servlet-name> <!--给servlet取名 -->
<servlet-class>test.testFile</servlet-class> <!--该名字对应哪个class -->
</servlet>
<servlet-mapping>
<servlet-name>testFile</servlet-name> <!-- 哪个servlet -->
<url-pattern>/testFile</url-pattern> <!--url访问的形式 -->
</servlet-mapping>
如果你的servlet的class是放在ROOT内的WEB-INFO/classes内的话,那么用
http://localhost:8080/testFile就可以访问了.
更加详尽的配置,请自己查阅"web.xml配置"
在某些IDE中,你也可以在servlet代码中引入包 javax.servlet.annotation.WebServlet,然后在代码中使用@WebServlet("/testFile")就无需配置web.xml
六.建议阅读
如果你是初学servlet与jsp编程,想在编码的同时,想了解其中原理,建议阅读:
<<servlet与jsp核心编程>>
网址: http://www.coreservlets.com/ 中的books一栏.
如果你有servlet的开发经历,遗忘了一些方法或不太熟悉,建议阅读 菜鸟教程:
http://www.runoob.com/servlet/servlet-tutorial.html
关于jsp的学习资料,菜鸟教程上原理和代码都讲解的比较好:
http://www.runoob.com/jsp/jsp-tutorial.html