zoukankan      html  css  js  c++  java
  • Web工程中各类地址的写法

    1)总体原则

                    在java web开发中,只要是url地址,那么最好以“/”开头,也就是绝对路径的方式。那么这个“/”到底代表什么呢?

                    如果“/”是给服务器用的,则代表当前web工程;如果是给浏览器用的,则代表webapps目录,webapps目录的/后面还得加上项目名

    (2)给服务器用的场景

                    1.使用ServletContext获取资源的绝对路径

    String realPath = this.getServletContext().getRealPath("/WEB-INF/测试图片.jpg");

    也就是当前web项目的WebContent目录

                    2.请求转发

    request.getRequestDispatcher("/index.html").forward(request, response);

    (3)给浏览器使用的场景

                    1.请求重定向,因为重定向是客户端行为,是由浏览器发起请求,所以地址是webapps的,具体重定向的请求流程查看上一篇的文章介绍

    response.sendRedirect("/LearnServlet/index.html");

    因为/表示webapps目录,所以需要指定项目

                    2.页面超链接

    <a href="/LearnServlet/index.html">跳转到首页</a>

    这是浏览器使用的超链接,这个“/”是给浏览器用的,所以代表的是webapps目录,所以需要指定webapps目录

                      使用超链接为了避免出现项目名称,可以使用pageContext.request.contextPath来替换

    String name = this.getServletContext().getContextPath();

    3.form表单

    <form action="/LearnServlet/FirstServlet" method="POST">
        <input type="text" name="name"/ >
        <input type="submit" name="submit"/>
    </form>

    理由类似上面的超链接。

  • 相关阅读:
    element ui 表单清空
    element ui 覆盖样式 方法
    element ui 修改表单值 提交无效
    element ui 抽屉里的表单输入框无法修改值
    element ui 抽屉首次显示 闪烁
    css 左侧高度 跟随右侧内容高度 自适应
    PICNUF框架
    elementui 抽屉组件标题 出现黑色边框
    vue 子组件跨多层调用父组件中方法
    vue 编辑table 数据 未点击提交,table里的数据就发生了改变(深拷贝处理)
  • 原文地址:https://www.cnblogs.com/alsf/p/9236700.html
Copyright © 2011-2022 走看看