一、 Jsp和Servlet的区别

相同点

jsp经编译后就变成了servlet,jsp本质就是servlet,jvm只能识别java的类,不能识别jsp代码,web容器将jsp的代码编译成jvm能够识别的java类。当客户端通过 http 请求一个 JSP 页面,首先 Tomcat 会将JSP翻译并编译成为 Servlet,然后执行 Servlet的生命周期方法处理请求与响应。

不同点

JSP侧重视图展现数据,Sevlet主要用于控制逻辑获取数据。

Servlet中没有内置对象 。

JSP中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。

二、 JSP中foreach标签作用,常用属性

作用:遍历集合/迭代输出标签内部的内容。它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数。

常用标签:

  • items:指定要遍历的集合,必须使用EL表达式
  • var:指定每个元素的变量名,相当于集合中每个对象 ${对象名.属性名} 获取每个属性

三、 四大作用域与作用范围

  • 页面域page : 只在一个页面中起作用
  • 请求域request : 一个用户的一次请求(可以访问多个页面的)
  • 会话域session : 一个用户的多次请求
  • 上下文域application : 多个用户的多次请求

四、 MVC含义

MVC 是一种分层开发的模式,其中有:

  • M:Model,业务模型,处理业务,存储数据,获取数据。 JavaBean对象
  • V:View,视图,界面展示,展示数据。JSP或HTML
  • C:Controller,控制器,处理请求,调用模型和视图。Servlet
  1. MVC的好处
  2. 1.职责单一,互不影响
  3. 2.有利于分工协作
  4. 3.有利于组件重用

五、 三层架构含义

三层架构就是对一个功能模块分层设计,其中把功能划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)的三层架构(java的三层架构:SSM= SpringMVC/Struts2 + Spring + MyBatis/Hibernate)

  • 数据访问层:对数据库的CRUD基本操作
  • 业务逻辑层:对业务逻辑进行封装,组合数据访问层中基本功能,形成复杂的业务逻辑功能
  • 表现层:接收请求,封装数据,调用业务逻辑层,响应数据