Java web hello world

461 阅读2分钟

一、背景

新冠疫情,在家办公。闲散时间较多,温故一下一年半未触碰的java技术栈。

本篇主要记录从零本地搭建java web hello world的完整过程

代码地址:github.com/venusforest…

最终运行结果:


二、安装java

  1. 官网下载dmg文件:www.oracle.com/technetwork…
  2. 点击安装,顺序执行下一步
  3. 配置环境变:JAVA_HOME、CLASSPATH,具体配置见后面截图
  4. 验证:java -version

三、安装maven

  1. 官网下载tar.gz文件:maven.apache.org/download.cg…
  2. tar -zxvf 解压到自己想放置的目录下
  3. 配置环境变量:M2_HOME,具体配置见后面截图
  4. 验证 mvn -v
  5. 通过maven下载的jar包默认放在{user.home}/.m2/repository目录下

四、安装tomcat

  1. 官网下载tar.gz文件:tomcat.apache.org/download-80…
  2. Tar -zxvf 解压到自己想放置的目录下
  3. 配置环境变量:TOMCAT_HOME,具体配置见后面截图
  4. 验证:startup.sh && localhost:8080 && shutdown.sh,看到tomcat 猫主页说明安装成功

五、安装idea

  1. 官网下载:www.jetbrains.com/idea/downlo…
  2. 输入license:这里使用的公司的购买的license

六、配置小结

环境变量配置

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/HomeCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.export JAVA_HOMEexport CLASSPATHexport TOMCAT_HOME=/Users/dongbaosen/tomcat/apache-tomcat-8.5.50export M2_HOME=/Users/dongbaosen/maven/apache-maven-3.6.3export PATH=$JAVA_HOME/bin:$VIMPATH/bin:$PATH:$GOPATH/bin:$GOROOT/bin:$MYSQLPATH/bin:$THRIFTPATH/bin:$M2_HOME/bin:$TOMCAT_HOME/bin
Maven mirror配置

<mirror>      <id>alimaven</id>      <name>aliyun maven</name>      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>      <mirrorOf>central</mirrorOf></mirror>

七、代码编写

项目创建

打开intelliJ idea,File => New => Project => Maven => Next => 填写name、location、groupId、artifactId,demo用的是com.bytedacne.webdemo

新建web.xml、applicationContext.xml、dispatcher-servlet.xml文件,以及controller文件。

  • tomcat在启动war包时,会先读取web.xml文件,加载全局变量、启动Listener、servlet配置等。
  • listener是tomcat的监听器组件规范,如果做了listener配置,web程序在启动是会加载配置的listener类,这里使用spring mvc的ContextLoaderListener。
  • dispatcher的作用是将业务controller里的代码和客户端请求的uri进行具体业务逻辑的mapping,springmvc是通过注解实现的mapping
  • 下图为本实例的具体代码截图


编译war包

  • Java web程序如果想在tomcat容器中运行需要编译成war包,这里使用maven进行编译。编译之前需要在intelliJ Idea下进行maven的Edit Config配置,配置如下截图
  • Clean package 是maven编译java代码的命令,这个里我们要编译成war,还需要配置pom.xml文件的packaging属性为war。

使用tomcat运行war包

要想在tomcat中运行,也需要在intellij idea进行edit config配置。主要配置tomcat路径、运行端口、以及之前编译好的war包


八、未来

maven、tomcat运行机制、springmvc源码 review