新建四个目录 D:ApacheServereclipse 存放eclipse D:ApacheServerjdk jdk安装目录 D:ApacheServerapache-tomcat 存放 apache-tomcat D:ApacheServerweb_java 存放 eclipse java 各项目 eclipse下载首页 https://www.eclipse.org/downloads/packages/ 选择版本 Eclipse IDE for Enterprise Java Developers 实际下载地址 http://ftp.yz.yamagata-u.ac.jp/pub/eclipse/technology/epp/downloads/release/2019-06/R/eclipse-jee-2019-06-R-win32-x86_64.zip java EE SDK 这个未下载 https://www.oracle.com/technetwork/java/javaee/downloads/index.html 解压到目录 D:ApacheServereclipse eclipse字体,编码设置参考PHP编辑器 jdk下载路径 https://www.oracle.com/technetwork/java/javase/downloads/index.html 下载版本 jdk-12.0.1_windows-x64_bin.exe jdk安装目录 D:ApacheServerjdk windows 环境变量->系统变量 Path 修改添加路径 ;D:ApacheServerjdkin 新建系统变量 变量名 : JAVA_HOME 变量值 : D:ApacheServerjdk 新建系统变量(供命令行中执行javac用),其中"."表示在当前路径寻找class文件,另两个为引用的jar包 变量名 : CLASSPATH 变量值 : .;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar; 修改系统变量 Path 修改添加路径 ;%JAVA_HOME%jrein;%JAVA_HOME%in; tomcat首页 http://tomcat.apache.org/ 点击 Tomcat 9.0.22 Released 版本下的 Download 进入下载页 https://tomcat.apache.org/download-90.cgi 下载列表中选择 64-bit Windows zip (pgp, sha512) 实际下载地址 http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22-windows-x64.zip 设置 Tomcat 将下载的tomcat压缩包解压缩到路径 D:ApacheServerapache-tomcat 在eclipse中点击 Window->Preferences->Server->Runtime Environments->Add->列表中选中Apache Tomcat v9.0点击Next->Browse...->选中Tomcat安装目录(这里是D:ApacheServerapache-tomcat)->Finish 设置 Build Path 在开发Web应用程序时,需要用到 Tomcat ,要将 Tomcat/lib 加入编译路径中。否则会在建立 jsp 时,出现错误 Window->Preferences->java->Build Path->Classpath Variables->New... 弹出框中 Name:Tomcat Server Path:D:/ApacheServer/apache-tomcat/lib 点OK完成 添加 User Libraries。 Window->Preferences->java->Build Path->User Libraries->New... 弹出框输入 Tomcat Server 不用选 System library(added to the boot class path) 点OK完成 点击刚创建的 Tomcat Server 点击右侧按钮 Add External JARs... 将 D:ApacheServerapache-tomcatlib 下的所有jar选中打开 最后 点击 Apply and Close 完成 改变创建jsp文件默认编码格式 Window->Preferences->Web->JSP Files->Encoding 选择 ISO 10646/Unicode(UTF-8) 点击Apply and Close eclipse新建项目选择 Dynamic Web Project Project name:HelloWorld Target runtime选择刚刚设置的 Apache Tomcat v9.0 点击 Finish 完成 新项目eclipse显示结构 Deployment Descriptor :部署的描述。 Java Resources : 项目java源码,src在此目录下,但实际项目目录下无 Java Resources 文件夹,src 文件夹在新建的 HelloWorld 目录下 #Web App Libraries :自己加的包可以放在里面。本次创建未出现 build :eclipse 自动编译后的类文件自动存放在 build 里,并根据包名创建目录结构。 WebContent : 项目实际运行程序根目录。 在 WebContent 文件夹下新建 index.jsp 在新建的项目或导入的项目jap文件如果报错,执行如下操作 选中项目名 HelloWorld 右键 选择最下面的 Properties 打开的界面中选择 Java Build Path->Libraries->列表中选中Classpath(如果有这项的话)->Add Library...->User Library->Next->选中刚创建的 Tomcat Server->Finish 添加完成后继续点击 Order and Export 选项卡,选中 Tomcat Server 点击 Apply 完成设置 eclipse设置浏览器访问路径 选中项目名,右键选择最下面的 Properties->Deployment Assembly 右边表格列出即是该项目里文件夹实际路径对应浏览器url路径 这里配置如下 /WebContent => / /src => issrc/ab/ 访问路径 http://localhost:8080/HelloWorld/index.jsp 即访问项目根目录下 WebContent 文件夹下 index.jsp http://localhost:8080/HelloWorld/issrc/ab/index.jsp 即访问项目根目录下 src 文件夹下 index.jsp 注意文件名大小写敏感 eclipse 中运行程序 eclipse右键项目 Run As -> Run on Server 选择 Tomcat v9.0 Server Server's host name : localhost Server name : Tomcat v9.0 Server at localhost Server runtime environment : 选择 Apache Tomcat v9.0 Finish 浏览器输入地址 http://localhost:8080/HelloWorld/index.jsp 即可 新建一个Servlet类 eclipse项目右键->New->Servlet Project : 选中本次项目 HelloWorld Source folder : Servlet类存放目录 这里为 HelloWorldsrc java package : 包路径,这里为 com.test Class name : Servlet类名 这里为 TestServlet Superclass : 默认为 javax.servlet.http.HttpServlet 完成 会自动在项目目录下的src目录中根据包路径创建 java 类文件,这里完整路径是 D:ApacheServerweb_javaHelloWorldsrccom estTestServlet.java 在项目 WebContentWEB-INF 目录下创建 web.xml 文件(如果没有)代码如下 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" 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_2_5.xsd"> <servlet> <!-- 类名 --> <servlet-name>TestServlet</servlet-name> <!-- 所在的包 --> <servlet-class>com.test.TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>TestServlet</servlet-name> <!-- 访问的网址 --> <url-pattern>/TomcatTest/TestServlet</url-pattern> </servlet-mapping> </web-app> 在eclipse中启动Tomcat运行项目 浏览器中输入地址 http://localhost:8080/HelloWorld/TomcatTest/TestServlet 即可看到 servlet 类中输出的信息,这里是 Served at: /HelloWorld 在项目的 uildclassescom est 目录下会自动生成 TestServlet.class 编译文件 更改单独启动Tomcat时服务器代码根目录 如果不通过eclipse启动Tomcat,单独启用Tomcat来访问servlet则需要 先改Tomcat配置文件 server.xml 修改 Host 标签 appBase 属性及 Context 标签的 docBase属性指向含有 WEB-INF 文件夹的目录,这里配置如下 编辑 D:ApacheServerapache-tomcatconfserver.xml 找到 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> 改为如下两行。name为本地访问地址、appBase为项目的地址,docBase为该web项目的实际运行根目录,设为空则以父地址为运行项目根目录 <Host name="localhost" appBase="D:ApacheServerweb_javaHelloWorld" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="WebContent" debug="0" reloadable="true" /> 然后将 servlet 的包路径及编译class文件 完整放到 WebContentWEB-INF文件夹下的 classes文件夹中,这里完整路径是 D:ApacheServerweb_javaHelloWorldWebContentWEB-INFclassescom estTestServlet.class tomcat会自动读取 WEB-INF 文件夹下的 web.xml 到 classes 文件夹下的包路径查找相应的编译class文件 重启Tomcat后 浏览器访问 http://localhost:8080/index.jsp 即是访问 D:ApacheServerweb_javaHelloWorldWebContent 目录下的 index.jsp文件 由于配置了 web.xml 此时 servlet 访问地址为 http://localhost:8080/TomcatTest/TestServlet 涉及到 WEB-INF 目录的 Web 应用程序结构是所有的 Java web 应用程序的标准,并由 Servlet API 规范指定 WEB-INF/classes 目录包含了所有的 Servlet 和其他编译后的类文件,类文件所在的目录结构与他们的包名称匹配,如自定义的 servlet 完全类名为 com.test.TestServlet,那么编译后的类文件必须位于以下目录中/WebContent/WEB-INF/classes/com/test/TestServlet.class WEB-INF/lib 目录包含了所有项目中由 import 语句导入的类所属的 jar 包 WEB-INF/web.xml 文件为应用程序的部署描述配置文件 项目目录结构如下所示: /WebContent(自定义项目运行根目录名) /upload(自定义文件夹名) /WEB-INF /classes /lib /web.xml 修改.java文件要需要重启Tomcat看到修改效果 修改.jsp文件不需要重启Tomcat即可看到修改效果 单独启动Tomcat cmd进入到Tomcat bin目录 d: cd ApacheServer/apache-tomcat/bin //启动Tomcat,会弹出一个命令运行框 startup.bat 关闭,cmd命令行输入shutdown可以,也可以直接关闭启动Tomcat时弹出的命令运行框 shutdown 为使 linux 中独立运行 Tomcat 不报错,要把需要的 jar 文件放入到项目的 WEB-INF/lib 目录下 为使windows命令行能 javac 编译,要确保在系统变量 CLASSPATH 中有指定 jar 文件 为使 eclipse 不报错要在 Java Build Path 中引入对应 jar 包 程序中 Class.forName("com.mysql.cj.jdbc.Driver"); 语句引入的类似 mysql 这样的 jar 包要放到 Tomcat 安装目录下的 lib 目录里,这里路径是 D:ApacheServerapache-tomcatlibmysql-connector-java-8.0.17.jar 附注: eclipse右键项目 Run As 中如果没有run on server 可以尝试 刷新web项目 项目右键->最后一项Properties->Project Facets->选中Java和Dynamic Web Module。点击ok关闭 cmd命令中这个命令输出的最后一列表示占用8080端口的进程号是多少,假设进程号为1234 netstat -ano | findstr 8080 kill掉这个进程 taskkill /F /PID 1234 这样8080端口就是释放了 ==============导入项目 如果导入的项目某java文件中 import javax.servlet... 语句报错 The type javax.servlet.http.HttpServletRequest cannot be resolved. 是缺少serverlet的引用库,解决如下 选中项目名右键 选择最下面的 Properties 打开的界面中选择 Java Build Path->Libraries->列表中选中Classpath(如果有这项的话)->Add External JARs...->窗口定位 eclipse安装目录下的plugins文件夹(这里是 D:ApacheServereclipseplugins) 选中如下几项确定 javax.servlet.jsp_2.2.0.v201112011158 javax.servlet_3.1.0.v201410161800 (以下项为示例,引入其他类报错时需要) javax.annotation_1.2.0.v201602091430 javax.mail_1.4.0.v201005080615 org.apache.lucene.misc_7.5.0.v20181003-1532 不同编译出错 项目右键->最后一项Properties->Java Compiler-> Compiler compliance level:一项从默认12改为选择1.8 选中 java 文件或包含 java 文件夹右键选择->Source->Format 格式化代码并自动编译成 class 文件 编译的class文件放在 WebRootWEB-INFclasses 目录下同样完整包名目录结构的文件夹中 如这里 java 文件目录 srccomcontrollerAdminloginLoginController.java 编译后目录 WebRootWEB-INFclassescomcontrollerAdminloginLoginController.class