这里不涉及过多的理论知识
简单的进行使用回顾,笔记
文章目录
Java
- JDK: Java Development Kit 下载(Java 16)
- JRE: Java Runtime Environment
- JVM: Java Virtual Machine
下载安装完成后,添加环境变量
- JAVA_HOME
- java目录
- 在系统的Path中添加
%JAVA_HOME%\bin
路径
编写Java代码,并保存为Hello.java
文件(文件名和类名一致)
(使用了VSCode,安装Java插件并自动识别了JDK)
public class Hello{
public static void main(String[] args){
System.out.print("hello world");
}
}
打开对应目录下的cmd,输入javac Hello.java
,将Java代码编译得到Hello.class
文件
在cmd中输入java Hello
即可运行Java代码
javac Hello.java
java Hello
Tomcat
(Tomcat 10)
解压并放置到指定位置
启动关闭Tomcat
双击Tomcat目录下的bin目录下的startup.bat
文件启动Tomcat
浏览器输入localhost:8080
即可看到如下画面,说明启动成功
关闭黑框或者双击bin
目录下的shutdown.bat
文件关闭Tomcat
可能遇到的问题
- 黑框闪退
- Java环境变量没有配(JAVA_HOME)
在conf
文件夹中的server.xml
为核心配置文件
- 可以修改Tomcat的默认端口,http和https等所使用的端口
- 主机名称
- 网站应用
Maven
Maven是一个项目管理工具,可以对Java项目进行构建、依赖管理
可以用于方便的导入jar包(起到类似于Python语言中的Anaconda的作用)
Maven核心思想:约定大于配置
- 有约束,不要去违反
- 需要按照约定规范Java
下载
(maven 3.8.1)
下载并解压到指定位置
创建一个文件夹repo
用于放置jar包
配置环境变量
在系统环境变量中添加
- MAVEN_HOME
- maven目录
- M2_HOME(之后的学习可能需要用到)
- maven目录下的bin目录
- 在系统的Path中添加
%MAVEN_HOME%\bin
路径
修改配置文件
修改镜像,加速下载
使用国内阿里云镜像
在maven目录下conf中的settings.xml
文件中加入
(约第150行,在<mirrors>
标签中加入)
<mirror>
<id>nexus-aliyun</id>
<name>nexus-aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
</mirror>
设置本地仓库
在settings.xml
文件中约第50行,设置本地仓库
仓库地址为之前建立的repo
文件夹
(随着学习或工作深入,仓库里面可能会放置大量数据,放D盘不占系统盘空间)
<localRepository>D:\Program\apache-maven-3.8.1\repo</localRepository>
在IDEA中使用maven
(IDEA Ultimate 2021.1)
创建一个普通maven项目(不使用模板)
填写项目名称信息
选择本地maven的地址,配置文件和仓库地址
点击Finish后会自动下载包
等待其初始化
IDEA中输出BUILD SUCCESS并且maven仓库中有包存在,说明初始化完成
得到初始项目
可以在pom.xml
文件中添加代码导入包,例如
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
(可以再在build中配置resources,以免在后续的学习中防止除java文件外的资源导出失败)
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
</excludes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
</excludes>
<filtering>false</filtering>
</resource>
</resources>
</build>
并且在File->New Projects Settings->Settings for New Projects中
设置默认使用的maven及相应仓库,否则每次都需要更改一次
在IDEA中配置Tomcat
由于新建的是一个新项目,没有用到模板
先在项目中建立相关web目录
web.xml
v3.0
<?xml version="1.0" encoding="UTF-8"?>
<web-app
version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
</web-app>
index.jsp
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
当然文件内容可以自己写
这样建目录,webapp文件夹上是没有小圆点的
打开File->Project Structure,选择Module,点击加号加入web选项
修改相应路径并建立Artifact
最后点击OK
webapp文件夹上就出现了小圆点
完成准备工作,开始配置Tomcat
点击左上角Add Configuration
点击左上加号得
配置Tomcat并添加artifact
可以修改下浏览器查看的根路径
点击OK
最后点击右边的三角启动Tomcat
可以在浏览器localhost:8080
看到
Servlet
- Servlet是Sun公司开发动态web的一门技术
- Sun公司提供了Servlet接口
- 编写类实现Servlet接口
- 把开发好的类部署到web服务器中
- 把实现了Servlet接口的Java程序叫做Servlet
maven仓库
maven仓库里包含有各种各样的包,可以通过修改maven配置文件自动下载
在pom.xml中加入
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
</dependencies>
HelloServlet
在java
文件夹下建立包com.cpyy.servlet
并编写实现类HelloServlet
package com.cpyy.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();
writer.print("Hello Servlet");
}
@Override
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
编写Servlet映射
浏览器连接web服务器,需要在web服务中注册Servlet,并给予浏览器路径
在web.xml
文件的web-app
元素中加入
<!--注册servlet-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.cpyy.servlet.HelloServlet</servlet-class>
</servlet>
<!--建立映射-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
启动
配置Tomcat,并配置根路径为/c1
在浏览器输入http://localhost:8080/c1/hello
得到
(使用Tomcat 10 报500错误,改为Tomcat 9即可)