Tomcat :Tomcat使用教程
Smart Tomcat插件使用教程(IDEA)
Servlet : Servlet部署教程(基于Tomcat)
前端网络:Fiddler使用教程(HTTP抓包 前端debug)
HTTP、HTTPS协议详解
HTML常用语法总结【精华】
CSS常用语法总结【精华篇】
Java Script 语法总结
WebAPI—DOM (HTTL、CSS、Java Script应用及案例)
前端项目—待办事项(HTML+CSS+JavaScript实现)
精华步骤
1. 创建项目
2. 引入依赖
3. 创建目录结构
4. 编写代码
5. 打包程序
6. 部署程序到 Tomcat 上
7. 验证程序
精华步骤便于查阅,后文就是新手详细教程呦~
javax.servlet
javax.servlet-api
3.1.0
provided
Archetype Created Web Application
resp.getWriter().write("hello zxc");
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8"); //更改编码方式为utf-8
resp.getWriter().write("hello 你好");
}
}
war
warname_xxx
warname_xxx为Context Path路径
创建 Maven 项目。 Maven 是 Java 世界中的一个非常知名的“构建工具”,负责编译打包代码。
点击“Next” -> “Next” -> “Finish” 完成创建。
项目创建好之后,IDEA自动为我们创建出一些目录结构。
maven 项目的典型结构
- src 放源代码
- main 正式代码
- test 测试代码
- java 放Java代码
- resources 放依赖的资源文件
- pom.xml 至关重要的文件,maven项目的核心配置文件,关于maven项目的相关属性,都是在这个 xml 中进行配置
借助 maven 来管理依赖。直接把依赖的第三方库配置到 怕pom.xml 中即可。
找到 maven 的中央仓库:https://mvnrepository.com/,搜索 servlet 下载并进行引入。
版本应该与 Tomcat 的版本是匹配的。Tomcat 是8系列对应 Servlet 就是3.1.0版本。
拷贝这个代码片段到 pom.xml 里创建的
javax.servlet
javax.servlet-api
3.1.0
provided
把这个代码粘贴进来之后, maven 就会自动的从中央仓库下载的 jar 包到本地并引用到项目中。
如果标签中关键字为红色,表明 IDEA 还未下载,可以使用maven选项卡(界面右侧)中的刷新按钮进行更新。
完成后如下图所示:
Web需要的固定目录,必须按照如下命名:
在 src/main 文件夹下创建名为 webapp 的文件夹,与 java文件夹同级。
webapp 里创建一个 WEB-INF 里面创建一个 web.xml 文件。
这个 web.xml 很关键,就是 Tomcat 能够识别这个动态页面的入口文件。
在 web.xml 中写入:
Archetype Created Web Application
如下图所示:
IDEA 对 xml 的检查并不准确,标红未必有错,此处可以忽略第三行的标红,也可以在对应位置按 Alt+Enter 进行解决。
① 在 java 文件夹下创建一个新的 Java Class类,命名为 HelloServlet
② 创建 HelloServlet ,让这个类继承自 HttpServlet (此处的HttpServlet来源于前面 pom.xml 中引入的 jar 包(第三方库))
③ 重写父类的 doGet 方法
重写父类的 doGet 方法,为不管请求是啥内容,都返回一个字符串“hello world”,另外给 HelloServlet 加一个特定的注解。
@WebServlet("/hello") // 告诉Tomcat:如果收到HTTP请求的URL路径是 /hello 这样的,就调用 HelloServlet这个类来处理该请求
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8"); //更改编码方式为utf-8
// 此处就做一个简单的事情:
// 不管请求是啥,响应都返回一个 hello world
resp.getWriter().write("hello 你好");
}
}
HttpServletRequest:请求. 也就是Tomcat 收到的HTTP请求,解析成了这个对象
HttpServletResponse:响应. 也就是Tomcat 要给浏览器返回的响应,对应的对象
要把当前的这个代码打包成一个压缩包,方便部署到 Tomcat 上
1)修改 pom.xml 加入一些必要的配置,打一个 war 包(Tomcat要求)
war
java101
2)执行打包操作
打开 Maven 选项卡,找到Lifecycle -> package,直接双击 package 或右击 Run Maven Build 运行
在目录中出现的 target 文件夹下可以找到打包结果。
将生成的 war包文件拷贝至 Tomcat安装目录下的 webapps 文件夹
Tomcat 运行后,会自动识别出 war包,并进行解压缩和部署操作。
通过浏览器输入对应地址进行验证。
127.0.0.1:8080/java101/hello
成功!!
其中:
java101 这个路径称为 Context Path ,表示一个webapp(一个网站)
hello 这个路径称为 Servlet Path,表示这个网站中的一个页面
一个 Tomcat 可以同时部署多个网站(多个webapp),每个网站(webapp)又有多个页面(Servlet)