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>

    理由类似上面的超链接。

  • 相关阅读:
    儿童节扣扣讲座心得
    leetcode -- Best Time to Buy and Sell Stock II
    leetcode -- Best Time to Buy and Sell Stock
    JDeveloper中文乱码问题
    Oracle BAM数据量限制64000解决办法
    记录一条纠结了SQL语句
    OEPE创建webservice出现的一些问题
    Oracle OSB [Security:090304]Authentication Failed
    ICommand简单用法
    Oracle BAM添加企业消息源实现数据的实时监控
  • 原文地址:https://www.cnblogs.com/alsf/p/9236700.html
Copyright © 2011-2022 走看看