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>

    理由类似上面的超链接。

  • 相关阅读:
    vs已停止工作
    2.3.4 工具运行和错误解决方法
    vs2010 :0X80041FEB 程序集无法修改版等内容
    VS2010 F5调试时出现:“ 尝试运行项目时出错:未捕获通过反射调用的方法引发的异常”解决
    栅格计算器中空间分析函数
    设备系统,个人消费系统
    知己知彼
    ASP.NET MVC 实现二级域名
    自定义ASP.NET MVC Html辅助方法
    MVC系统过滤器(局部缓存,局部动态)
  • 原文地址:https://www.cnblogs.com/alsf/p/9236700.html
Copyright © 2011-2022 走看看