使用Servlet写一个hello world
使用Servlet写一个hello world
使用Servlet创建一个hello world程序需要完成的细节蛮多的,大致分为7步
1:创建项目
首先创建一个Maven
Maven是Java世界中一个非常知名的“构建工具”,负责编译打包代码
idea内置了Maven,可以直接使用
填写项目的名字和保存目录
这里项目的名称是ServletCSDN
项目创建好之后,可以看到IDEA给我们创建出了一些目录结构
src | 放源代码 |
---|---|
main | 放正式代码 |
java | 放Java代码 |
resources | 放依赖的资源(目前用不到 |
test | 放测试代码 |
pom.xml | 这个技术maven项目的核心配置文件,maven的相关属性就是这里配置的 |
2:引入依赖
Maven 项目创建完毕后, 会自动生成一个 pom.xml 文件.
我们需要在 pom.xml 中引入 Servlet API 依赖的 jar 包.
下载第三方库的时候,有一下三种方法
1.直接去第三方网站下载
2.去第三方的github上下载
3.去中央仓库下载
因为方法1和2比较麻烦,因此我们这里使用方法3去中央仓库下载
在中央仓库中搜索 “servlet”, 一般第一个结果就是.
点进去有很多个版本,我们这里使用3.1.0这个版本!
版本不能乱选和tomcat的版本是匹配的
因为我的tomcat是8系列,对应的Servlet就是3.1.0这个版本
拷贝这段代码到pom.xml中
一个项目里面,可以有多个依赖,每个依赖都是一个标签
然后多个依赖都放到标签里面
粘贴后,修改后的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>ServletCSDN</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies>//将复制的代码粘贴到这个标签下面<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency></dependencies></project>
我们初次粘贴这段代码可能会爆红 标红就说明没有下载完成,
要稍等片刻 或者刷新一下
3:创建目录结构
我们知道当项目创建好了之后, IDEA 会帮我们自动创建出一些目录.
但是web项目对于目录结构还有直接的要求 光是maven搞出来的目录是不够的 需要手动的创建出一些目录来
注:目录名和创建的位置是固定的,不能乱写,如果写错了,就不生效
创建效果如下:
web.xml就是tomcat能够识别这个动态页面的入口文件
web.xml中的内容不能为空 里面的写法也是固定的,我们不要修改 这里的内容是从其它地方复制过来的
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app><display-name>Archetype Created Web Application</display-name>
</web-app>
注:大家复杂这段代码后,可能会爆红,这是正常的现象,凭没有错
4:编写代码
这里开始正式编写Java代码
首先创建一个HelloServlet
完整代码如下:
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 javax.sql.rowset.serial.SerialException;
import java.io.IOException;@WebServlet("/hello")
public class HelloServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// super.doGet(req,resp);resp.getWriter().write("hello world");}
}
注:这里代码完成了,但是不能直接运行,需要借助tomcat才可以运行
5:打包程序
先修改pom.xml,加入一些必要的配置,一个打包的类型和打包的名字
<!-- 要打一个war包--><packaging>war</packaging>
<!-- servletcsdn就是war包的名字--><build><finalName>servletcsdn</finalName></build>
执行打包操作
双击package
打包成功
打包的结果在target目录下,如果打包失败了就不能生成出来
6:部署代码
将程序部署到Tomcat上
将war文件复杂到Tomcat的webapps目录中
7:验证程序
提高浏览器,来访问当前的这个Servlet生成的动态页面
这里的hello路径为Servlet Path表示这个网站中的一个页面
至此大功告成!!!
使用Servlet写一个hello world相关推荐
- 用servlet写一个hello word
哈喽,你好呀.今天要分享的是如何通过servlet在网页上去写一个hello world,还记得我们计算机入门的第一个程序吗,步骤非常简单.但是今天写的这个hello world步骤就有点多啦,但是熟 ...
- Spring Security 实战干货:从零手写一个验证码登录
1. 前言 前面关于Spring Security胖哥又写了两篇文章,分别图文并茂地介绍了UsernamePasswordAuthenticationFilter和 AuthenticationMan ...
- 从 0 开始手写一个 Spring MVC 框架,向高手进阶
转载自 从 0 开始手写一个 Spring MVC 框架,向高手进阶 Spring框架对于Java后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,但了解之后才知道有很多巧妙的设计在里面.如 ...
- 如何根据接口写一个客户端进行发单测试?
第一步,先写一个jsp页面,定义jsp将form表单提交给SiglePaymentServlet <%@ page language="java" contentType=& ...
- 自己手写一个Spring MVC框架
想要了解Spring MVC框架的原理,探究框架是如何设计的,不错的学习方式是阅读源码,然后自己手写一个框架.本文带领大家简化的手写一个Spring MVC框架. Spring框架对于Java后端程序 ...
- 自己写一个调查问卷Web项目 (超详细版)
一.项目介绍 发起问卷,管理问卷信息,把问卷结果通过可视化方式呈现出来 二.技术栈 Servlet MySQL Apache Echarts 三.项目功能 用户管理:注册.登录.登出 题库管理:录制题 ...
- 如何使用纯Servlet做一个单表的CRUD操作
目录 第一步:准备一张数据库表.(sql脚本) 第二步:准备一套HTML页面(项目原型)[前端开发工具使用HBuilder] 第三步:分析我们这个系统包括哪些功能? 第四步:在IDEA当中搭建开发环境 ...
- 写一个框架的详细步骤
定位 所谓定位就是回答几个问题,我出于什么目的要写一个框架,我的这个框架是干什么的,有什么特性适用于什么场景,我的这个框架的用户对象是谁,他们会怎么使用,框架由谁维护将来怎么发展等等. 如果你打算写框 ...
- 从零开始写一个框架的详细步骤
定位 所谓定位就是回答几个问题,我出于什么目的要写一个框架,我的这个框架是干什么的,有什么特性适用于什么场景,我的这个框架的用户对象是谁,他们会怎么使用,框架由谁维护将来怎么发展等等. 如果你打算写框 ...
最新文章
- tensorflow的axis理解
- android实现iphone风格的picker
- Visual studio 打包
- 研磨设计模式--单例模式
- camshift实现目标跟踪
- 学习笔记(2):Google开发专家带你入门神经网络-深度学习“四件套”:数据、模型、损失函数与优化器
- Python-根据日期计算周对应的日期
- 如何选择适合你的兴趣爱好(一),拉丁舞
- (PMP)三、项目经理的角色
- gcc compile : assignment of read-only location '*p'
- HAL库学习之串口通信
- 2019届寒假作业整理
- 中文转 拼音字母、全拼 工具类
- 有没有matlab软件教程基础讲课的老师,详解MATLAB快速入门与应用之MATLAB软件教学视频...
- 程序员膨胀了?年薪100万,腾讯程序员跟南航飞行员差不多?
- Linux第十节——信号
- Hibernate查询以及优化策略
- 【热门主题:加勒比海盗桌面主题】
- 剪切应力、剪切中心和剪切刚度
- 我国十大盗版网站:百度占前三