跳到主要内容

Java

Java

java 8 documentation

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

安装配置

添加环境变量

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

使用

  • -jar, 使用打好的jar包, 带有 WEB-INF/ 配置目录
java -jar <jarfile>
  • -classpath/-cp, 指定类文件搜索路径, Windows 用 ; 分隔, Linux用 : 分隔

  • -version:"1.6.0_13 1.6* & 1.6.0_10+", 指定 release 版本, +代表当前及更高版本, *代表任意数字, JRE 6u13 即(1.6.0_13)

IDEA

安装激活

将依赖的 jar 包置于 C:\ 目录下, 启动 IDEA, 添加激活码

创建项目

  1. 配置项目名称及 jdk 路径

  1. 创建包和类, 包名通常为域名倒置

  1. Artifact/工件/构建产物/部署包

  1. 配置执行前自动构建 jar 包

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