随风飞世 发表于 2018-11-30 11:35:34

JAVA与Tomcat

  第一章JAVA
  一、Java虚拟机的由来
  常见编程语言(开发工具),系统级别的有常见的c、c++、go。而应用级别的有c#、ruby、java、python、php、Perl。而这些程序要运行有两种方式,一种是编译,一种是解释,而采用解释就需要有专门的解释器(运行环境)来逐条解释程序源码。但是针对java来说使用的就是虚拟机,称为JVM(c#使用的是CVM)。
  在web应用场景中,由于客户端系统版本众多,对于服务器端程序的编译采用了两种方式:客户端编译(源码发送到客户端,有客户端安装编译程序进行编译,早期使用,现在淘汰),服务器端编译(通过CGI接口将前端web请求通过CGI接口发送到后端应用程序服务器,并有后端服务器计算出请求的结果后发送给前端web服务器,有其发送给客户端的形式)。
  常见的源码(编程语言)对应的运行环境服务器有:
  JSP:TOMCAT、JBOSS、
  PHP:PHP-FPM
  平台移植
  开发工具开发一个程序,通常是在一个系统架构上来进行的比如windows或者linux平台,开发的时候需要调用库文件,而这需要API接口,它的作用就是连接开发工具和库文件。那么依据不同的平台开发的程序通常是不能够跨平台安装的,因为他们的库文件是不同的,那么如何实现跨平台呢,于是有了POSIX,一个标准,用于实现开发出来的程序可以跨平台安装的。
  Java的四种技术
  Java设计语言
  JVM:解释器,虚拟机
  Java class 文件格式,源程序编译完成后的程序文件名。*.class
  http://note.youdao.com/src/9F748AF74143426888760682BF3CA3E1
  JVM的实现方式:
  1、一次性解释器,解释字节码(*.class)
  2、即时编译期
  3、自适应编译器
  常见java虚拟机
  Java公司
  JDK:java开发组件,开发(编译),JDK包含JRE。
  java+API+JVM,是开发java的最小环境。
  JRE:Java运行时环境,运行。
     JVM+Java SE AIP
  
  OpenJDK:开发+运行
  java的分类
  按应用领域不同:
  Java SE:标准版,包含了java二进制程序(字码解释器和JVM虚拟机)和Java的核心代码库(库文件)。它包括的API只有JNDI和JAXP。j2se,第二版,JDK+JAVA API
  Java EE:企业版,建立在Java SE基础之上,程序依赖于SE才能工作,适用于大型项目开发。包含了很多独立的API,其中最著名的就是servlet和jsp,还包括EJB,JMX,JTA等。
  Java ME:移动版
http://note.youdao.com/src/307E3889DD5C424A9002A6CF5A2BCDB5

  知识点:
  早期java通过applet类程序完成web服务的动态页面功能,这是一种客户端解释程序,需要客户端解析的。后来出现了CGI,实现了服务器端解释动态请求的功能。
  servlet技术实质上就是Java公司开发的实现CGI功能的一个技术,目的同样和CGI一样,用于编译执行动态请求。
  JSP就是一种动态开发语言,可以像php一样直接将语言嵌套在HTML静态语言中。而解释则需要自己的servlet技术。
  tomcat是sun公司将servlet卖给apache公司后,整合出来的程序,用于实现java的虚拟机功能。tomcat包含java se+servlet+jsp。
  Java EE的实现:(不同厂家有不同的实现方式)
  WebSphere:IBM公司
  Weblogic:BEA公司
  JBoss:redhat公司
  
  开源实现方式:
  Tomcat:apache公司
  jetty:轻量级,小型架构
  resin:
  JSP技术
  Java实现动态开发网页的语言,使用.jsp格式,需要转换成.java格式(需要servlet container (servlet 容器)),而.java格式需要转换成.class格式(需要JVM进行转换)。应用程序生成的代码文件存放在/usr/local/tomcat/work目录下以虚拟主机为名称创建目录,并且会先将JSP文件通过jasper翻译成.java文件,然后在通过编译器javac编译成.class文件才可以使用
  

  第二章Tomcat
  一、安装Tomcat
  官网下载地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html
  我这里使用的是 jdk-8u131-linux-x64.tar,首先需要解压缩,然后移动到/usr/java目录下,然后在/etc/profile.d/目录下创建java.sh文件,并执行。
# tar xf jdk-8u131-linux-x64.tar
  
# mv jdk1.8.0_131/ /usr/java/
  
# ll
总用量 25884
drwxr-xr-x. 2 uucp 143   4096 3月15 16:33 bin
-r--r--r--. 1 uucp 143   3244 3月15 16:32 COPYRIGHT
drwxr-xr-x. 4 uucp 143   4096 3月15 16:32 db
drwxr-xr-x. 3 uucp 143   4096 3月15 16:32 include
-rwxr-xr-x. 1 uucp 1435097105 3月15 12:39 javafx-src.zip
drwxr-xr-x. 5 uucp 143   4096 3月15 16:32 jre
drwxr-xr-x. 5 uucp 143   4096 3月15 16:33 lib
-r--r--r--. 1 uucp 143       40 3月15 16:32 LICENSE
drwxr-xr-x. 4 uucp 143   4096 3月15 16:32 man
-r--r--r--. 1 uucp 143      159 3月15 16:32 README.html
-rw-r--r--. 1 uucp 143      526 3月15 16:32 release
-rw-r--r--. 1 uucp 143 21115141 3月15 16:32 src.zip
-rwxr-xr-x. 1 uucp 143    63933 3月15 12:39 THIRDPARTYLICENSEREADME-JAVAFX.txt
-r--r--r--. 1 uucp 143   177094 3月15 16:32 THIRDPARTYLICENSEREADME.txt
  

  
# cat /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/
export PATH=$JAVA_HOME/bin:$PATH
  

# . /etc/profile.d/
  

  查看java运行环境及虚拟机状态
  
# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
  

  2、Tomcat环境部署
  我这里下载使用的是apache-tomcat-8.5.15.tar版本,同样解压缩后移动到指定目录并通过profile.d目录创建配置文件并激活变量。
# tar xfapache-tomcat-8.5.15.tar
# mv /root/apache-tomcat-8.5.15 /usr/local/tomcat
# . /etc/profile.d/tomcat.sh
  

  配置文件内容:
# cat /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
  

  启动tomcat,可以通过catalina.sh文件启动。实际生产环境要使用tomcat账户启动而不是root账户,安全考虑。
# catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:      /usr/java/
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar类加载器,tomcat同样是java的一种类。
Tomcat started.
  


  

  创建开机启动脚本:/etc/rc.d/init.d/tomcat,并设置“执行”权限,建议不要使用管理员root启动
# cat /etc/rc.d/init.d/tomcat
#!bin/bash
#Tomcat init-script for linux
#
#
#chkconfig 2345: 96 14
JAVA_HOME=/usr/java/
CATALINA_HOME=/usr/local/tomcat/
export JAVA_HOME CATALINA_HOME
exec $CATALINA_HOME/bin/catalina.sh $*
  

  查看启动项:
tcp      0      0 :::8080                     :::*                        LISTEN      19917/java         
  

  更改监听端口/usr/local/tomcat/conf/server.xml
   
页: [1]
查看完整版本: JAVA与Tomcat