不借助idea开发工具构建一个Javaweb项目
不借助idea开发工具构建一个Javaweb项目
目录结构
webappsroot
|----------WEB-INF
|----------classes(存放字节码)
|----------lib(存放第三方jar包)
|----------web.xml(注册Servlet)
|---------html
|---------css
|---------javascript
|---------image
...............
开发步骤
(1)构建目录
创建一个根目录,
my-first
在根目录下构建一个
WEB-INF
目录,(必须大写,是Servlet中的规范)在
WEB-INF
目录下新建classes
,lib
目录和一个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_4_0.xsd"
version="4.0"> </web-app>
(2)编写Java程序
这个程序必须实现Servlet接口
import jakarta.servlet.Servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.ServletConfig;
import java.io.IOException;
public class MyFirstServlet implements Servlet{
public void init(ServletConfig var1) throws ServletException{
}
public ServletConfig getServletConfig(){
return null;
}
public void service(ServletRequest request,ServletResponse response)
throws ServletException, IOException{
System.out.println("My First Servlet, Hello Servlet");
}
public void destroy(){
}
public String getServletInfo(){
return "";
}
}
注意这个Servlet接口不在JDK中(Servlet不是JavaSE了,Servlet属于JavaEE,是另一套类库)
Tomcat服务器实现了Servlet规范,可以在Tomcat服务器的lib
目录下看到一个servlet-api.jar
,解压这个jar包,可以找到一个Servlet.class
文件
从JakartaEE9开始,Servlet接口名全变了:
javax.servlet.Service
---->jakarta.servlet.Servlet
(3)编译MyFirstServlet
配置环境变量CLASSPATH
,添加.;D:\dev\apache-tomcat-10.0.18\lib\servlet-api.jar
注意:配置CLASSPATH和Tomcat服务没有关系,配置环境变量只是为了让你可以正常编译MyFirstServlet.java
文件生成MyFirstServlet.class
文件
将MyFirstServlet.class
文件拷贝到my-first\WEB-INF\classes
目录下
(4)编写配置信息
在web.xml
文件中编写配置信息吗,将请求路径和Servlet类名关联在一起
<?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_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>MyFirst</servlet-name>
<!-- 要填全限定名称 -->
<servlet-class>MyFirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- 要和上面的servlet-name保持一致 -->
<servlet-name>MyFirst</servlet-name>
<!-- 这个随便取,但是必须是以 / 开始 -->
<url-pattern>/myfirst</url-pattern>
</servlet-mapping>
</web-app>
(5)启动Tomcat服务器
开启服务:打开DOS窗口,执行
startup.bat
命令打开浏览器,在地址栏输入:http://localhost:8080/my-first/myfirst
总结
之前都是用idea开发的,它帮助我们做了很多事情,项目中有很多细节都不知道。在没idea的帮助下,新建一个JavaWeb项目,对整个项目是怎么运作的更加清晰了。
idea虽然很方便,但是对于刚刚学习的人说,我觉得反而是件坏事情,会留下很多隐患。
不借助idea开发工具构建一个Javaweb项目的更多相关文章
- 不借助vue-cli,自行构建一个vue项目
前言: 对于刚刚接触vue的同学来说,直接用官方的构建工具vue-cli来生成一个项目结构会存在一些疑惑,比如: .vue组件 为什么可以写成三段式(tempalte.script.style)? ...
- 怎用不用工具创建一个javaWeb项目
整体步骤是: 1: 新建一个文件夹: 以项目名称命名 2:在新建的文件夹下再新建一个文件夹 WEB-INF (注意:大小写) 和 一个文件 index.jsp : index.jsp里面的代码: ...
- javaweb开发2.新建一个javaweb项目
1.File → New → Dynamic Web Project 2.创建一个Dynamic Web Project 3.点击“Next”下一步 4.点击“Next”下一步 5.点击“Finish ...
- (转)一个JavaWeb项目开发总结
原文地址:http://www.cnblogs.com/lzb1096101803/p/4907775.html 一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml-&g ...
- 一个JavaWeb项目开发总结
一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml->mvc->db->spring ioc->log->代码 先了解项目数据库的表结构,这 ...
- 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字“Hello Android”,并将应用程序的名称更改为“FirstApp”。
需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字"Hello Android",并将应用程序的名称更改为"Firs ...
- 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行
需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行 实现步骤: 打开 Android Studio,创建一个 Andr ...
- 利用 vue-cli 构建一个 Vue 项目
一.项目初始构建 现在如果要构建一个 Vue 的项目,最方便的方式,莫过于使用官方的 vue-cli . 首先,咱们先来全局安装 vue-cli ,打开命令行工具,输入以下命令: $ npm inst ...
- 快速构建一个vue项目
首先介绍一下命令行构建一个vue项目步骤: 1.下载安装node.js(直接运行安装包根据步骤安装完),打开命令行输入:node -v ,出现版本号即安装成功. 2.命令行界面输入:cnpm inst ...
- Eclipse的maven构建一个web项目,以构建SpringMVC项目为例
http://www.cnblogs.com/javaTest/archive/2012/04/28/2589574.html springmvc demo实例教程源代码下载:http://zuida ...
随机推荐
- Oracle 服务器迁移的一些经验
前言 通过此文章来分享一下 Oracle 服务器迁移过程中的一些经验,希望对大家有些许帮助. 本文旨在帮助更多的同学,会提及一些基本命令或技巧,但不赘述,后续有机会再进一步分享各个细节. 背景 之前因 ...
- javaee相关基础
2020-2-28 java 学习 开始学习javaee了 瞎跳着看 今日内容 web相关概念 web服务器软件:Tomcat Servlet入门学习 web概念 软件架构 C/S:客户端/服务器端 ...
- Mac隔空投送功能
使用mac 或iphone 的隔空投送功能可以互发文件,亲测可用 具体可以看mac的文档 需要注意的是: 如果是mac传iphone,iphone会显示你需要存储文件的地方,比如选择在文稿中.然后在文 ...
- 03-MyBatisPlus的CRUD 接口
一.insert 1.插入操作 @RunWith(SpringRunner.class) @SpringBootTest public class CRUDTests { @Autowired pri ...
- 【问题解决】Debian更新源提示InRelease已过期
问题 本人日常用 Debian10 今天在更新源(apt update) 时,出现InRelease文件过期的问题 E: http://mirrors.163.com/debian/dists/bus ...
- salesforce零基础学习(一百一十八)Restrict Rule
本篇参考: https://help.salesforce.com/s/articleView?id=sf.security_restriction_rule.htm&type=5 https ...
- Kubernetes Operator: Operator
Operator 就可以看成是 CRD 和 Controller 的一种组合特例,Operator 是一种思想,它结合了特定领域知识并通过 CRD 机制扩展了 Kubernetes API 资源,使用 ...
- jenkins邮箱配置
- logstash安装插件修改使用的gem源
gem source -l # 查看当前使用的gem源 gem source --remove https://rubygems.org/ # 移除gem源 gem source -a https:/ ...
- css padding和overflow
padding:10px 5px 15px 20px; 上右下左 padding:10px 5px 15px; 上 左右 下 padding:10px 5px; 上下 左右 padding:10px; ...