博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javaweb学习中的路径问题
阅读量:5951 次
发布时间:2019-06-19

本文共 3583 字,大约阅读时间需要 11 分钟。

1. 项目结构

javaweb学习中的路径问题

2. 客户端路径

1. 超链接

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
页面a
这是绝对地址超链接
这是以"/"开头的相对地址超链接
这是不以"/"开头的相对地址超链接

2. 表单

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
页面b
username:
username:
username:
username:
username:
username:

3.重定向

package cn.test.path;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * @author Guozhen_Zhao * 创建时间:2018年3月17日  上午10:12:21 * 备注:重定向有三种路径书写方式 :  *      1. 绝对路径  *      2. 以"/"开头的相对路径  *      3. 不以"/"开头的相对路径  */@WebServlet("/RedirectServlet")public class RedirectServlet extends HttpServlet {    private static final long serialVersionUID = 1L;    protected void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        response.sendRedirect("http://localhost:8080/testPath/jsp/b.jsp");        /*          * 2.以"/"开头的相对路径          *  此时,/代表整个web工程的路径,即http://localhost:8080/          */        //        response.sendRedirect("/testPath/jsp/b.jsp");         /*          * 3.不以"/"开头的相对路径          *      此时是相对于当前资源的相对路径          *      当前资源路径为:http://localhost:8080/testPath/RedirectServlet          *      即表示:RedirectServlet在路径http://localhost:8080/testPath之下          *      而b.jsp在http://localhost:8080/testPath/jsp/b.jsp          *      所以最终地址写为:jsp/b.jsp          */        //        response.sendRedirect("jsp/b.jsp");     }    protected void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doGet(request, response);    }}

服务器端路径

请求转发

package cn.test.path;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * @author Guozhen_Zhao * 创建时间:2018年3月17日  上午10:09:59 * 备注: 服务器端的路径不能是绝对路径,只能是相对路径,也分为以/开头和不以/开头两种  *      1.以"/"开头的相对路径  *      2.不以"/"开头的相对路径 */@WebServlet("/DispatcherServlet")public class DispatcherServlet extends HttpServlet {    private static final long serialVersionUID = 1L;    protected void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        /*          * 1.以"/"开头的相对路径          *      此时,/代表当前web项目,即:http://localhost:8080/javaee          */  //      request.getRequestDispatcher("/jsp/b.jsp").forward(request, response);         /*          * 2.不以"/"开头的相对路径          *      相对于当前资源的相对路径          *  此时,当前资源的路径为:http://localhost:8080/javaee/DispatcherServlet          *  所以要转发去的资源的路径以:http://localhost:8080/javaee开头          */          request.getRequestDispatcher("jsp/b.jsp").forward(request, response);      }    protected void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doGet(request, response);    }}

转载于:https://blog.51cto.com/13416247/2087844

你可能感兴趣的文章
CentOS定时同步系统时间
查看>>
批量删除用户--Shell脚本
查看>>
如何辨别android开发包的安全性
查看>>
Eclipse Java @Override 报错
查看>>
交换机之间的VLAN通信(trunk)
查看>>
heartbeat-gui
查看>>
关于一阶逻辑中实例化的可满足性问题
查看>>
cut命令用法讲解
查看>>
我的第一篇日志。
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
企业实战:mysql5.6数据库备份、恢复脚本
查看>>
CentOS7安装mysql
查看>>
RMB數字轉換中文
查看>>
基于rhel7.2的Zabbix平台搭建和部署(二)
查看>>
Html5本地存储和本地数据库
查看>>
Android Fragment实践(二)
查看>>
Windows 64 位 mysql 5.7以上版本包解压安装
查看>>
知道双字节码, 如何获取汉字 - 回复 "pinezhou" 的问题
查看>>
TClientDataSet[14]: 测试 FindFirst、FindNext、FindLast、FindPrior、Found
查看>>