跳到主要内容

Java

源码 > 编译为 .class 字节码 > 加载到内存 > 逐行解释执行

JRE

  • JVM + 核心类库

JDK

  • javac 源码编译为 .class 字节码
  • java 虚拟机
  • javap 反编译

安装配置

添加环境变量

cat > /etc/profile.d/java.sh << EOF
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
EOF

. /etc/profile.d/java.sh

下载安装

tar -xvf jdk-11.0.29_linux-x64_bin.tar.gz -C /usr/local/
ln -s jdk-11.0.29 jdk

安装成功

java -version

使用

java -jar <jarfile>

Tomcat

概念

  1. Servlet

Java 代码中嵌入前端代码

  1. JSP

前端代码中嵌入 Java 代码

  1. MVC
  • controler 接收请求
  • model 处理数据
  • view 解析页面
  1. REST
  • 前后端分离
  • Ajax 异步请求数据

安装

下载解压

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.113/bin/apache-tomcat-9.0.113.tar.gz -P /opt/

tar -xvf /opt/apache-tomcat-9.0.113.tar.gz -C /opt/

修改权限

usradd -r -s /usr/sbin/nologin tomcat

chown -R tomcat:tomcat /opt/apache-tomcat-9.0.113

管理服务

cat > /lib/systemd/system/tomcat.service << EOF
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/local/jdk"

Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"

Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"

# Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

ProtectSystem=full
PrivateTmp=yes

[Install]
WantedBy=multi-user.target
EOF

目录结构

logs

  • access.txt 客户端访问日志

bin

  • catalina.sh [ start | stop ]
  • startup.sh
  • shutdown.sh

work

  • web app 缓存

conf

server.xml

<Host name="localhost"  appBase="/var/www/"
unpackWARs="true" autoDeploy="true">
</Host>
  • appBase: web app 目录
  • http://localhost:8080/index.jsp > /var/www/ROOT/index.html
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  • pattern: 日志输出格式

webapps

  • http://localhost:8080/index.jsp > /tomcat/webapps/ROOT/index.html
  • http://localhost:8080/blog/index.jsp > /tomcat/webapps/blog/index.html