Java每日5问(第19天)

转发(forward)和重定向(redirect)的区别?

  1. 从地址栏显示来说
    forward 是服务器请求资源,服务器直接访问目标地址的URL,把那个URL 的响应内容读取过来, 然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
    redirect 是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的 URL.
  2. 从数据共享来说
    forward:转发页面和转发到的页面可以共享 request 里面的数据. redirect:不能共享数据.
  3. 从运用地方来说
    forward:一般用于用户登陆的时候,根据角色转发到相应的模块. redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等
  4. 从效率来说forward: 高 . redirect:低.

request.getAttribute()和 request.getParameter()有何区别?

1、request.getParameter()取得是通过容器的实现来取得通过类似 post,get 等方式传入的数

据。
2、request.setAttribute()和 getAttribute()只是在 web 容器内部流转,仅仅是请求处理阶段。
3、getAttribute 是返回对象,getParameter 返回字符串
4、getAttribute()一向是和 setAttribute()一起使用的,只有先用 setAttribute()设置之后,才能够通过 getAttribute()来获得值,它们传递的是 Object 类型的数据。而且必须在同一个 request 对象中使用才有效。,而 getParameter()是接收表单的 get 或者 post 提交过来的参数

jsp 静态包含和动态包含的区别?

  1. 两者格式不同,静态包含:<%@ include file=“文件” %>,而动态包含:。
  2. 包含时间不同,静态包含是先将几个文件合并,然后再被编译,缺点就是如果含有相同的 标签,会出错。动态包含是页面被请求时编译,将结果放在一个页面。
  3. 生成的文件不同,静态包含会生成一个包含页面名字的 servlet 和 class 文件;而动态包含会各自生成对应的 servlet 和 class 文件
  4. 传递参数不同,动态包含能够传递参数,而静态包含不能

MVC 的各个部分都有哪些技术来实现?如何实现?

MVC 是Model-View-Controller 的简写。“Model” 代表的是应用的业务逻辑(通过 JavaBean, EJB 组件实现), “View” 是应用的表示面(由 JSP 页面产生),“Controller” 是提供应用的处理过程控制(一般是一个 Servlet),通过这种设计模型把应用逻辑,处理过程和显示
逻辑分成不同的组件实现。这些组件可以进行交互和重用。

jsp 有哪些内置对象?作用分别是什么?

JSP 有 9 个内置对象:
request:封装客户端的请求,其中包含来自 GET 或 POST 请求的参数;
response:封装服务器对客户端的响应; pageContext:通过该对象可以获取其他对象; session:封装用户会话的对象;
application:封装服务器运行环境的对象; out:输出服务器响应的输出流对象; config:Web 应用的配置对象;
page:JSP 页面本身(相当于 Java 程序中的 this); exception:封装页面抛出异常的对象。

猜你喜欢

转载自blog.csdn.net/qq_39899164/article/details/106975543