web项目中的浏览器行为和服务器行为
package day10.think_about_path;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 关于在web中必须要解决的路径的问题:
* 我们都知道以/开头的是绝对路径;不以斜杠开头的是相对路径
* 相对路径的使用我们都相对熟悉,但是在web中的绝对路径应该
* 怎么使用呢?
*
* 有些时候我们的绝对路径的根目录是站点(例如:tomcat下的webapps文件夹;localhost:8080/ );
* 但是有的时候我们的绝对路径的根目录就是我们的项目(例如我们当前的项目名:localhost:8080/MyFirstServlet/ );
*
* 这主要取决于我们进行跳转时候的行为:
* 服务器行为: / 代表从当前项目的根目录开始;
* 浏览器行为: / 代表从当前站点的根目录开始;
*
*
*
* @author mzy
*
*/
public class PathDemo extends HttpServlet {
private static final long serialVersionUID = -5487353929038279489L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
/**
* 理解服务器行为和浏览器行为:
* 服务器行为是服务器代客户进行跳转
* 并且只是内容上进行拷贝显示,URL并不会改变
*
* 浏览器行为,是主观的用户进行操作
* 用户的操作,就不会局限在当前的项目下了,
* 而应该是一个大范围,在你的站点下面。
*/
// 目标地址是:/hello.html 直接在项目根目录下
/**
* 转发:转发是服务器的行为,所以/应该代表的是当前的项目路径。
*/
// request.getRequestDispatcher("/hello.html").forward(request, response);
/**
* 重定向:重定向是浏览器行为,所以/应该代表的是当前的站点,localhost:8080/
*/
// response.sendRedirect("/MyFirstServlet/hello.html");
/**
* html页面的超链接:hmtl中的超链接属于浏览器行为
*/
response.getWriter().write("<a href='/MyFirstServlet/hello.html'>link</a>");
/**
* html页面的表单的action:属于浏览器行为
*/
response.getWriter().write("<form action='/MyFirstServlet/hello.html'><input type='submit' /></form>");
// 总结:html中的都是浏览器主动进行发出的请求,所以都是浏览器行为
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
}
}
web项目中的浏览器行为和服务器行为的更多相关文章
- 在Java web项目中防止用户注销后使用浏览器中的“后退”按钮返回注销前页面
一背景 公司安全整改, 要求:系统中对于关键业务操作应确保使用浏览器"后退"功能无法回到上一步操作界面. 提供:凭证提供所有被检查系统关键业务操作后回退视频,视频显示关键业务操作后 ...
- JAVA WEB项目中各种路径的获取
JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报 分类: JAVA开发(41) 1.可以在s ...
- 【Filter 不登陆无法访问】web项目中写一个过滤器实现用户不登陆,直接给链接,无法进入页面的功能
在web项目中写一个过滤器实现用户不登陆,直接给链接,无法进入页面,而重定向到登陆界面的功能. 项目是用springMVC+spring+hibernate实现 (和这个没有多大关系) 第一步: 首先 ...
- 理解java Web项目中的路径问题
本文以项目部署在tomcat服务器为例,其他相信也是一样的. 先说明请求页面的写法,在web中,页面路径主要写的有以下几种 1.请求重定向 2.浏览器的请求被服务器请求到新页面(我称为“转发”) 3. ...
- web项目中获取各种路径的方法
~Apple web项目中各种路径的获取 1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/&qu ...
- 前后端分离Web项目中,RBAC实现的研究
在前后端分离Web项目中,RBAC实现的研究 最近手头公司的网站项目终于渐渐走出混沌,走上正轨,任务也轻松了一些,终于有时间整理和总结一下之前做的东西. 以往的项目一般使用模板引擎(如ejs)渲染 ...
- 真分布式SolrCloud+Zookeeper+tomcat搭建、索引Mysql数据库、IK中文分词器配置以及web项目中solr的应用(1)
版权声明:本文为博主原创文章,转载请注明本文地址.http://www.cnblogs.com/o0Iris0o/p/5813856.html 内容介绍: 真分布式SolrCloud+Zookeepe ...
- 对Java Web项目中路径的理解
第一个:文件分隔符 坑比Window.window分隔符 用\;unix采用/.于是用File.separator来跨平台 请注意:这是文件路径.在File f = new File(“c:\\hah ...
- IntelliJ IDEA打包WAR并部署运行(mac osx)将Web项目War包部署到Tomcat服务器基本步骤(完整版)
用IntelliJ IDEA做web开发体验很好,但导出war包比eclipse麻烦了不少,以下是解决方案: 打包:1.自动打包:File —> Project Structure —> ...
随机推荐
- P7362 [eJOI 2020 Day2] XOR Sort
P7362 [eJOI 2020 Day2] XOR Sort 题意 给你一个长度为 \(n\) 的序列,每次操作可以将一个数异或上相邻的一个数,求将序列改为严格单调递增序列或严格单调不降序列的操作次 ...
- chcod炸弹
[题目描述] 话说Cpp国和Pas国发生了战争, Pas国派出了强大的飞机战队, Cpp国于是使出了炸弹CHCOD 来反击Pas国的飞机舰队.然而CHCOD的发射器,只能逐渐往上打.所以Cpp国现在只 ...
- 什么是EL表达式,以及作用
1.概念 EL(Expression Language) 是为了使JSP写起来更加简单.减少java代码,便于开发和维护. 2.语法 格式都是以"${}"表示. 3.与运算符 EL ...
- SpringBoot 无法注入 service 的 bean
错误信息 Description: Field areaService in com.imooc.demo.web.AreaController required a bean of type 'co ...
- Python自动化测试面试题-经验篇
目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...
- 关于ClassLoader 和Class的俩个记录
public class ZFBCheckAccountTask extends TaskThread { 断点 @CallerSensitive public ClassLoader getClas ...
- Python小白的数学建模课-10.微分方程边值问题
小白往往听到微分方程就觉得害怕,其实数学建模中的微分方程模型不仅没那么复杂,而且很容易写出高水平的数模论文. 本文介绍微分方程模型边值问题的建模与求解,不涉及算法推导和编程,只探讨如何使用 Pytho ...
- netty系列之:基于流的数据传输
目录 简介 package和byte 手动组合 Byte的转换类 ReplayingDecoder 总结 简介 我们知道由两种数据的传输方式,分别是字符流和字节流,字符流的意思是传输的对象就是字符串, ...
- WinUI 3学习笔记(2)—— 用ListView来展示集合
在WPF的时代,我们多是使用ListBox和ListView来展示,纵向滚动条显示的集合数据.这两个控件的默认样式,以及对触控的支持,已完全落后于时代.他们两个分别长这样,和Win10及Win11的风 ...
- 【网站公告】避免反对百度的限制措施:百度搜索过来的访问会自动禁用js权限
今天下午百度联系我们,发现通过百度搜索访问我们网站的博文时会出现下面反对百度的画面,让我们今天彻底处理好,保证不再出现这种情况. 我们排查后发现是这位博主申请了js权限,添加了下面的反对百度的脚本: ...