「这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战」
1.发布静态资源
实现步骤
- 创建JavaWEB项目。
- 将静态页面所需资源导入项目的web目录下。
- 修改web.xml配置文件,修改默认主页。
- 将项目部署到tomcat中。
- 启动tomcat服务。
- 打开浏览器测试查看页面。
这里以黑马Javase中的头条项目为例,当我完成上面六个步骤的时候,打开浏览器突然报错404,如图:
检查了所有代码都没问题,并且多次尝试删除默认主页的操作,都可以正确显示自带的index.jsp。在折磨了半小时后终于发现了问题,此时的服务只是重启,但是并没有部署,在run的部署面板进行deploy即可(不知道理解是否正确,但确实成功了,望大佬纠正)。如图即为成功部署显示:
多折腾这里。
修改默认主页方法为:
<?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">
<!--此处为修改处-->
<welcome-file-list>
<welcome-file>/news/news.html</welcome-file>
</welcome-file-list>
</web-app>
2.发布动态资源
Servlet简介
Servlet 是运行在Java服务器端的程序,用于接收和响应来自客户端基于HTTP协议的请求。
举例:当前有一台服务器,如果服务器想要处理客户端的请求,则服务器需要有Servlet,对于想和服务端进行交互的客户端,首先由服务器接收来自客户端的请求,然后在服务器进行逻辑处理后响应客户端的请求。Servlet就是充当服务器和客户端的一个中介。
Servlet实现功能可以通过实现Servlet接口或者继承它的实现类,其核心方法为service(),任何客户端的请求都会经过该方法。
Servlet是具有生命周期的,其代表着从Servlet被创建到Servlet被销毁的过程,其遵循的过程为:
- Servlet初始化后调用init()方法。
- Servlet调用service()方法来处理客户端的请求。
- Servlet销毁前调用destroy()方法。
- 最后,Servlet是由JVM的垃圾回收器进行回收的。
此处只简单介绍Servlet。
动态资源发布实现步骤
- 创建一个JavaWEB项目
- 将静态页面所需资源导入到项目的web目录下
- 修改web.xml配置文件,修改默认主页
- 在项目的src路径下编写一个类,实现Servlet接口
- 重写service方法,输出一句话即可
- 修改web.xml配置文件,配置servlet相关资源
- 将项目部署到tomcat中
- 启动tomcat服务
- 打开浏览器测试功能
第四步的类为:
package com.anhui.Servlet;
import javax.servlet.*;
import java.io.IOException;
public class StudentServlet implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
/*
所有的客户端请求都会经过service方法
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("这是我的第一个Servlet入门案例!");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
第六步需要在web.xml配置servlet的声明和映射,分别为:
<!--Servlet声明-->
<servlet>
<servlet-name>studentServlet</servlet-name>
<servlet-class>com.anhui.Servlet.StudentServlet</servlet-class>
</servlet>
<!--Servlet映射-->
<servlet-mapping>
<servlet-name>studentServlet</servlet-name>
<url-pattern>/studentServlet</url-pattern>
</servlet-mapping>
然后打开即可测试。