Hello World -- Java Web版(Java Web 入门教程)
在阅读本文之前,你一定知道如何用Java语言写出"Hello, World!"了。那么,用Java语言如何写出Web版的"Hello, World!",使之显示在浏览器中呢?本文将一步一步演示如何写出Java Web版的"Hello, World!", 并简单地介绍相关技术。
软件下载与环境搭建
- 下载最新版的JDK,安装并配置环境变量。在cmd中运行
java -version
,输出如下图,则说明安装成功.
- 下载Tomcat, 本文使用的是最新稳定版Tomcat 8.5,并解压到任意目录。设置环境变量
CATALINA_HOME
为Tomcat解压后的目录,该目录中应包含以下文件。
Java代码编写与编译
文件创建
新建文件HelloWorld.java
,输入以下内容
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/hello")
public class HelloWorld extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.getWriter().println("Hello, World!");}@Overridepublic void destroy() {super.destroy();}}
新建文件web.xml
,输入以下内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"></web-app>
代码编译
java web程序依赖servlet-api, 因此我们在编译的时候需要引入Tomcat的lib目录中的servlet-api.jar。在文件HelloWorld.java
的目录运行命令
javac HelloWorld.java -classpath "{CATALINA_HOME}\lib\servlet-api.jar"
,得到编译后的文件HelloWorld.class
。
配置Tomcat并运行
一个标准的Java Web应用的目录结构如下,其中WEB-INF/web.xml是必需的。
根据上图,我们创建如下的目录结构:
- 在任意目录新建文件夹
helloword
- 将tomcat目录中的
conf
,logs
,temp
,webapps
,work
复制到helloword
并删除掉webapps
中的所有文件和文件夹。 - 在
webapps
中新建文件夹ROOT
,在ROOT
中新建文件夹WEB-INF
,在WEB-INF
中新建文件夹classes
。 - 将之前创建的文件
web.xml
复制到WEB-INF
目录中,将HelloWorld.class
复制到classes
目录中。
运行
打开cmd工具,依次运行两个命令
set CATALINA_BASE={helloword的目录}
{CATALINA_HOME}/bin/startup.bat
//注意将'{}'替换成具体的路径。
打开浏览器访问http://localhost:8080/hello
,应该就可以看到Hello, World!
了!
待更新
Hello World -- Java Web版(Java Web 入门教程)相关推荐
- 我的世界java版记分板_我的世界基岩版计分板入门教程
我的世界基岩版怎么创建计分板呢?本期小编为大家带来的是我的世界基岩版计分板入门教程,话不多说,下面就跟着小编一起来看看相关具体内容吧. 万能的第一步,创建一个计分项. 基岩版目前只支持"du ...
- java和python自学教程_适合 Java开发者学习的Python 入门教程—文海思创
原标题:适合 Java开发者学习的Python 入门教程-文海思创 [文海思创讯]在Java文章频道里,我们大部分人应该对该语言都非常的了解,而且在该生态圈内至少已经呆了好几年了.这让我们有常规和专业 ...
- 2016 版 Laravel 系列入门教程(一)
https://www.golaravel.com/post/2016-ban-laravel-xi-lie-ru-men-jiao-cheng-yi/ 2016 版 Laravel 系列入门教程(一 ...
- 《2020版JavaScript基础入门教程全集》,助你一臂之力!
当下,随着5G商用正在有序推进,很多传统的前端工程师并不能满足时下企业用人需求了,越来越多的开发模式以及前端框架不断的涌现出来,这也就要求程序员需要不断去自我增值. 前端要学习的东西很多,对于自学的小 ...
- php模拟炒股网站源码,stock 模 拟 炒 股 网 站 源 码(WEB版) WEB(ASP,PHP,...) 251万源代码下载- www.pudn.com...
文件名称: stock下载 收藏√ [ 5 4 3 2 1 ] 开发工具: ASP 文件大小: 5632 KB 上传时间: 2015-12-11 下载次数: 1 提 供 者: 张小钱 详细 ...
- 腾讯Web前端JX框架入门教程(一)
什么是JX框架 JX框架(Javascript eXtension tools)是模块化的非侵入式Web前端框架,适用于Web Page和Web App项目的开发,特别适合构建和组织大规模.工业级的W ...
- Java爬虫代码示例|入门教程 1- 快速爬取百度美图
文章目录 前言 源码 参考 前言 说起搜索,大家一定对百度不陌生.每个搜索引擎后边都是一个大型爬虫调度系统. 第一篇我们先以百度为例 每天都被它爬,今天我们来爬一下它. 源码 url分析 https: ...
- java final 变量 回收_java入门教程-Java中final,finally,finalize三个关键字的区别
final 当这个关键字修饰一个类时,意味着他不能派生出新的子类,也就是说不能被继承,因此一个类不能被同时声明为abstract和final.当final修饰变量或者方法时,可以保证他们在使用中不会被 ...
- Java 8 Lambda表达式官方入门教程(包括Lambda表达式介绍和语法)
Java8做出了比较大的更新,支持了很多新特性,Java8引入的Lambda表达式这一特性,使Java8支持函数式编程,目前网上有较多的教程,本文整理了来自Oralce官方提供的教程. Lambda表 ...
- Java开发工具IntelliJ IDEA入门教程:代码片段和代码折叠
本文将介绍在IntelliJ IDEA 使用过程中的 代码片段和代码折叠相关内容. IntelliJ IDEA官方正版下载 代码片段 与全局操作系统快捷方式冲突 预定义的键盘映射并不涵盖所有可能的平台 ...
最新文章
- Spring MVC学习-------------訪问到静态的文件
- leetcode算法题--Group Anagrams
- .Net 中 获取当前应用程序启动目录的几个方法和Path.Combine 细节
- 一个大型虚拟项目包含位于不同地点的许多干系人_项目管理与人生
- 【题解】HAOI2007分割矩阵
- 中国的程序员为什么这么辛苦?
- mysql5.7zib配置_mysql-5.7.13 解压版安装教程
- jQuery 插件使用记录
- AR8035 linux
- 最优化算法之鲍威尔算法(java)
- Visual Studio新特性:串口监视器和Zephyr支持
- java 给pdf加水印
- 拿下多家主机厂数百万前装定点,禾赛科技激光雷达量产进程加速
- c语言,从键盘上输入一个字符,如果是大写字母,转换为小写字母,否则输出
- On the burstiness of visual elements
- 娃娃乐学拼音软件许可及服务协议
- python太极代码_Python turtle绘制阴阳太极图代码解析
- html之菜单栏设置
- java宠物医院,基于SSM框架的JAVA宠物医院管理信息系统,源码分享
- MySQL参数优化:back_log