javaweb项目入门实战 - 教程

javaweb项目入门实战 - 教程

目录

  • 一、项目部署的问题
  • 二、项目访问路径设置
    • 1. URL、应用程序上下文的区别
    • 2. 实际开发中的使用
  • 三、项目默认首页路径的设置
    • 默认首页路径的实现方式
      • 1. 基础配置:指定默认页面文件名
      • 2. 配置子目录下的默认首页
        • 方式1:用`<welcome-file>`指定子目录路径(Tomcat支持)
        • 方式2:通过Servlet映射实现(更灵活,支持动态逻辑)
      • 3. 结合应用程序上下文的访问规则
    • 注意事项

一、项目部署的问题

  1. 配置warwar exploded的目的
    为了让Tomcat能识别并运行你的JavaWeb项目,是项目部署到Tomcat的必要步骤。
    JavaWeb项目最终需要打包成Web应用归档格式(即war相关形式),Tomcat作为Web服务器,只能识别这种格式的项目文件结构,才能加载并运行项目。如果不配置,Tomcat不知道如何读取你的项目代码,无法启动项目。
  2. warwar exploded的区别
类型含义特点适用场景
war是一个压缩包(把项目的class、资源、配置等文件打包成.war文件)部署时Tomcat会自动解压这个包;文件是静态的,修改代码后需要重新打包部署正式环境、生产环境发布
war exploded解压后的war目录结构(直接以文件夹形式存在,包含所有项目文件)修改代码后可以实时生效(配合热部署);不需要打包,部署速度快开发环境、调试阶段

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、项目访问路径设置

上面的应用程序上下文项目的访问前缀,而服务器的URLTomcat的基础访问地址,二者组合起来才是项目的完整访问路径。

1. URL、应用程序上下文的区别

  • 服务器URL:http://localhost:8080/(这是Tomcat本身的基础地址,所有部署在这个Tomcat上的项目都基于这个地址访问)
  • 应用程序上下文:比如设为/myproject(这是你的项目在Tomcat中的“标识路径”)
  • 完整访问路径 = 服务器URL + 应用程序上下文 + 资源路径
    (比如访问项目里的index.html,完整URL是http://localhost:8080/myproject/index.html

2. 实际开发中的使用

三、项目默认首页路径的设置

默认首页路径的实现方式

默认首页的配置核心是在web.xml文件里面设置<welcome-file-list>标签,具体规则和扩展用法如下:

1. 基础配置:指定默认页面文件名

<welcome-file-list>
<welcome-file>index.jsp</welcome-file><!-- 可添加多个备选页面,Tomcat会按顺序查找 --><welcome-file>index.html</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list>
  • 当访问项目根路径(如http://localhost:8080/myweb/)时,Tomcat会按顺序在项目根目录下查找<welcome-file>指定的文件,找到第一个存在的页面并加载;
  • 若项目根目录有index.jsp,则直接访问http://localhost:8080/myweb/会自动打开index.jsp;若没有,则找index.html,以此类推。

2. 配置子目录下的默认首页

如果默认首页不在项目根目录,而是在子目录(如pages/index.jsp),需通过虚拟路径映射Servlet转发实现:

方式1:用<welcome-file>指定子目录路径(Tomcat支持)
<welcome-file-list>
<welcome-file>pages/index.jsp</welcome-file>
</welcome-file-list>
  • 访问根路径时,Tomcat会查找pages/index.jsp并加载。
方式2:通过Servlet映射实现(更灵活,支持动态逻辑)
  1. 先定义一个处理根路径的Servlet:
@WebServlet("/") // 映射到根路径
public class IndexServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 转发到指定的首页路径
req.getRequestDispatcher("/pages/home.jsp").forward(req, resp);
}
}
  1. 此时web.xml中无需配置<welcome-file-list>,Servlet会直接处理根路径请求并跳转到目标页面。

3. 结合应用程序上下文的访问规则

若项目的应用程序上下文是/myweb,默认首页配置后:

  • 访问http://localhost:8080/myweb/ → 加载配置的默认首页;
  • 若默认首页是pages/index.jsp,则实际访问路径等价于http://localhost:8080/myweb/pages/index.jsp

注意事项

在这里插入图片描述