Javaweb理论

Javaweb理论

    • 1.简述开发过程中,JSP运行原理
    • 2.列举五个JSP内置对象,并说明其含义和作用
    • 3.简述JSP动作指令,并说明其作用
    • 4解释编写Javabean需要满足的条件
    • 5描述JSP和servlet的区别,共同点,各自应用范围
    • 6解释HTTP请求中get和post请求方式的区别
    • 7简述servlet生命周期
    • 8说明servlet API中转发和重定向的区别
    • 9说明request对象常用方法及其作用
    • 10解释getAttribute方法和getParameter方法的区别
    • 11描述JSP中动态include和静态include的区别
    • 12描述MVC各部分由哪些技术来实现,如何实现
    • 13JSP缺点
    • 14描述XML文档的组成部分及注意事项
    • 15简述struts2项目的工作流程

学习资源推荐 https://blog.csdn.net/qq_42813491/article/details/90213353

1.简述开发过程中,JSP运行原理

1)jsp页面在第一次被访问的时候,web容器(jsp引擎)会将jsp翻译成一个Servlet,然后调用servlet的service方法
2)jsp翻译后的Servlet会被放到 %tomcat安装目录%\work\Catalina\localhost
3)当jsp页面被再次访问的时候,web容器会去直接调用Servlet的service()方法,所以通常来讲jsp只是在第一次被访问的时候比较慢
4)如果jsp页面做了修改,此时web容器会重新翻译jsp

2.列举五个JSP内置对象,并说明其含义和作用

对象变量名 ( 可直接在jsp中使用 ) 对象作用
config 相关配置信息
application 全局域对象
response HTTP响应
request HTTP请求,域对象
session 会话机制,域对象
out JspWriter,输出
page this 当前页面对象
exception 异常
pageContext 当前页域对象

3.简述JSP动作指令,并说明其作用

1.jsp:forward: 执行页面转向,将请求的处理转发到下一个页面。
2.jsp:param: 用于传递参数,必须与其他支持参数曲标签一起使用。
3.jsp:include: 用于动态引入一个 JSP 页面。
4.jsp:p1ugin: 用于下载 JavaBean 或 Applet 到客户端执行。
5.jsp:useBean: 使用 JavaBean。
6.jsp:setProperty: 修改 JavaBean 实例的属性值。
7.jsp:getProperty: 获取 JavaBean 实例的属性值

4解释编写Javabean需要满足的条件

无参构造,属性私有,提供公共的get,set方法供外界访问

5描述JSP和servlet的区别,共同点,各自应用范围

  1. Servlet 适合写java代码,因为Servlet就是一个java类
    在开发中使用Servlet对用户发送的请求进行处理并做出响应

  2. jsp 适合做数据美化,作为 数据显示模板
    因为jsp页面直接书写HTML标签

  3. 项目中的web层通常使用mvc设计模式 Servlet+jsp+javabean
    其中, Servlet做控制器,处理用户请求,jsp作为显示模板

  4. 在Servlet中应避免做任何的数据输出。在 jsp 中应避免去直接书写java代码, 需要用到 EL表达式和 JSTL标签库

6解释HTTP请求中get和post请求方式的区别

Get请求地址栏有参数传递,安全性低,数据传输有限制
post请求地址栏无参数传递,安全性高,数据传输无限制

7简述servlet生命周期

1.创建servlet实例
2.当servlet实例化后,将调用这个对象的init()方法进行初始化
3.调用对象的service()方法来处理请求,并返回处理结果
4.调用对象的destroy()方法来结束,并释放资源

8说明servlet API中转发和重定向的区别

  1. 重定向地址栏有变化 转发地址栏无变化
  2. 重定向客户端向服务器发送两次请求 请求转发发送一次请求

9说明request对象常用方法及其作用

request 获得请求参数: getParameter() 和 getParameterValues()
域方法,get,set,数据存取,请求转发
getCookies():返回客户端的所有 Cookie 对象,结果是一个Cookie 数组
getRemoteAddr()

10解释getAttribute方法和getParameter方法的区别

getAttribute是返回对象,getParameter返回字符串
总的来说:request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。 (表单或者URL)

11描述JSP中动态include和静态include的区别

1)动态include在使用的时候,会先解析所要包含的页面,解析后在和主页面放到一起显示 动态包含只有在执行到它的时候才加载;
2)jsp:include是先编译一下included.jsp文件,然后再包含
3)静态include在使用的时候,不会解析所要包含的页面,包含的jsp页面与被包含的jsp页面共用一个request内置对象。静态的包含是将两个jsp文件二合一
4)page@ include是先把文件包含进来,然后统一编译

12描述MVC各部分由哪些技术来实现,如何实现

M(javabean)V(jsp)C(servlet)

  1. 用户发送请求(提交表单,超链接)
  2. Servlet 做处理, 将数据(响应结果)封装到 javabean对象
  3. 将 javabean 对象存入request域
  4. 请求转发给 jsp
  5. jsp 页面中 从request域取出数据 做显示

13JSP缺点

  1. JSP技术极大的增加了产品的复杂性.为了获得 系统的跨平台功能和产品伸缩能力,java系统开发了多种产品,如,JRE,JDK,J2EE,EJB,JSWDK,JavaBeans ,只有有效地将它们组合在一起,才能产生强大的功能.(部署有难度)

  2. java的高效率运行需要占用大量的内存和硬盘空间. 一方面,java的高速运行是通过 .class文件常驻内存来实现的.另一方面,还需要硬盘空间来存储一系列的.java 文件和.class文件以及对应的版本文件.(硬件要求高)

  3. JSP程序调试困难.
    JSP页面执行时, 首先被转换为 .java文件(Servlet), 然后将.java文件编译为字节码文件. 这样,出错信息实际上指向的是转换后的那个.java文件(Servlet), 而不是JSP本身. (调试有难度)

14描述XML文档的组成部分及注意事项

头声明,元素,属性(),注释,解析
区分大小写,声明必须写,属性加双引号,合理封闭标签,合理嵌套

15简述struts2项目的工作流程

1、客户端浏览器发出HTTP请求.
2、根据web.xml配置,该请求被FilterDispatcher接收
3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC(控制反转)方式,将值注入给Aciton
4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。
5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面
6、返回HTTP响应到客户端浏览器

你可能感兴趣的:(资源分享)