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>

    理由类似上面的超链接。

  • 相关阅读:
    ubuntu 安装PHP
    修改rm 防止误删除
    游标输出
    微软已经提供了好几个开源的小项目供学习参考
    数据库存取时间比较
    UML建模工具比较
    16进制与BYTE类型转换
    显示有换行字符的提示框
    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob)
    .net 动态sql 参数应用 oracle和sql server的比较
  • 原文地址:https://www.cnblogs.com/alsf/p/9236700.html
Copyright © 2011-2022 走看看