JSP相当于在HTML页面中加上Java代码,一般在<body>标签中放入主要代码。
在JSP里用<%...%>把Java代码包含起来的。

Servlet的生命周期:
①被服务器实例化后,容器运行init方法。
②当请求(Request)到达时,运行service方法,service方法会运行与请求对应的doXXX方法(doGet,doPost)等。
③当服务器决定将实例销毁时,调用destroy方法。

问:当多个请求同时到达时,会启动一个还是多个Servlet来接收请求?

Servlet是“单实例多线程”。
①可以有多个Servlet来处理一个业务请求。
②对于同一业务请求只有一个实例,加载时会调用各自的init方法。
③同一个Servlet可以同时处理多个客户端的请求。

问:Servlet是线程安全的吗?如何保证线程安全?

(1)在Servlet里负责保存上下文的ServletContext和负责处理Session对象的HttpSession是线程不安全的。处理请求的ServletRequest是线程安全的。
(2)保证线程安全的做法:①SingleThreadModel接口(已弃用)②在Servlet中使用局部变量,保证有单属于本Servlet的对象。③加锁,形成互斥访问。(很少用到)④用synchronized加以保护,但要尽量缩小保护的范围。

JavaBean的特征:
(1)JavaBean类必须具备一个没有参数的构造函数。
(2)JavaBean内的属性都应定义为私有的,这些属性通过get和set方法被外部调用。

MVC架构的工作流程:
View发起请求,请求被Controller转发给合适的处理程序,Model接收请求后,调用DAO层,得到结果返回给View。

问:Java Servlet中forward和redirect有何区别?

在设计Web应用时,需要把一个系统进行结构化设计,即按照模块化进行划分,让不同的Servlet实现不同的功能。例如让其中一个Servlet负责接收用户的请求,另一个Servlet负责处理用户的请求。为了实现这种程序的模块化,就需要保证在不同的Servlet之间可以相互跳转,而Servlet中主要有两种跳转的方式:forward方式和redirect方式。forward:服务器内部的重定向,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,而客户端并不知道,因此在客户端的地址栏中不会显示转向后的地址,还是原来的地址。redirect:客户端的重定向,是完全的跳转,即客户端浏览器会获取到跳转后的地址,然后重新发送请求,因此浏览器中显示跳转后的地址。同时,这种方式比forward方式多了一次网络请求,因此效率要低于forward方式。

问:Servlet有哪些方法可以实现页面的跳转?

在web应用服务中,经常会面对不同SERVLET之间的跳转,目前我们可以通过以下两种方式实现:
1.RequestDispatcher.forward()
2.ServletResponse.sendRedirect()

问:GET和POST的区别

GET产生一个TCP数据包,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
POST产生两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。GET在浏览器回退时是无害的,POST会再次提交请求。GET请求会被浏览器主动cache,而POST不会,除非手动设置。GET请求只能进行url编码,而POST支持多种编码方式。GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。GET只接受ASCII字符的参数的数据类型,而POST没有限制

Servlet生命周期:①首先加载servlet的class,实例化servlet。②然后初始化servlet调用init()的方法,接着调用服务的service的方法处理doGet和doPost方法。③最后是我的还有容器关闭时候调用destroy 销毁方法。

转载于:https://www.cnblogs.com/strong-FE/p/11374143.html

JSP+Servlet+JavaBean相关推荐

  1. Jsp+Servlet+JavaBean经典MVC模式理解

    MVC模式目的(实现Web系统的职能分工). 在Java EE中,Jsp+Servlet+JavaBean算是里面经典的模式,是初学者必备的知识技能.M, Model(模型)实现系统的业务逻辑 1.通 ...

  2. JSP,Servlet,JavaBean在WEB应用的角色

    JSP,Servlet以及JavaBean在编写WEB应用的时候,分别担当什么角色? 可以说你这的这种想法可以理解为典型的MVC控制模式.     jsp   来显示数据,____view;     ...

  3. JavaWeb开发模式:C/S模式,B/S模式,JSP+JavaBean模式,JSP+Servlet+JavaBean模式

    JavaWeb开发模式 1.C/S开发模式 1.C/S架构:客户端Client/服务端Server: a.出现较早,主要应用于局域网内: b.胖客户端:需要特定软件支持(安装客户端) 逻辑关系图如下: ...

  4. 基于jsp servlet javabean的学生管理系统

    日期:2019/10/24 该学生管理系统基于jsp+servlet+javabean,使用MVC模式,是一个很基础的学生管理系统,由于这是本学期的课程大作业,所以现在还没有完全写完,这篇博文会根据进 ...

  5. jsp+Servlet+javaBean编写计算体重指数测量(BMI)的简单程序

    jsp+Servlet+javaBean编写计算体重指数测量(BMI)的简单程序 BMI.java(javaBean代码) public class BMI { private double bmi, ...

  6. JSP+Servlet+Javabean自助餐厅饭店收银管理系统带推荐

    开发工具:Eclipse/Idea  数据库:mysql 开发技术: JSP + Servlet + JavaBean 一个自助餐厅饭店管理系统,实现了餐厅的无纸化自动管理,员工或者管理员登录系统后可 ...

  7. 基于javaweb的校园运动会管理系统(java+jsp+servlet+javabean+mysql)

    基于javaweb的校园运动会管理系统(java+jsp+servlet+javabean+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...

  8. Jsp+Servlet+JavaBean实现最基本的注册登陆功能

    Jsp+Servlet+JavaBean是MVC思想,Jsp=V(视图) Servlet=C(控制器) JavaBean=M(模型) 一.创建一个注册页面和登陆页面(V层) <html> ...

  9. 基于JSP+Servlet+JavaBean+DAO+Service+JDBC的职工信息管理系统

    说明: 本篇博客展示的职工信息管理系统(JSP+Servlet+JavaBean+DAO+Service+JDBC)仅包含对职工信息的增删改查以及用户注册登录操作,前端页面仅略作修饰: 本篇博客以项目 ...

  10. Java项目:校园运动会管理系统(java+JSP+Servlet+JavaBean+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目包含三种角色:运动员.裁判员.管理员: 运动员角色包含以下功能: 运动员登录,个人信息修改,运动成绩查询,比赛项目查询等 ...

最新文章

  1. 《设计模式 系列》- 面向对象六大原则
  2. Request.From,Request.QueryString转对象
  3. Fedora设置DVD为yum源
  4. HDU 3072 SCC Intelligence System
  5. html背景设置为彩色,CSS3 彩色网格背景
  6. day12 python学习随笔 中
  7. 终极算法:机器学习和人工智能如何重塑世界笔记
  8. 威联通 Qnap PK 群晖 Synology 安全篇3
  9. 局域网流量监控_常见的企业电脑监控网络管理软件哪一款好呢?
  10. 极致CMS v1.7版本-一款完全开源,免授权商用,功能强大的PHP建站系统
  11. zookeeper因内存不足造成的CPU占用率高
  12. win7 可以装matlab 吗,win7系统怎么安装matlab软件(图文教程)
  13. 什么是服务器安全性?
  14. H5游戏开发:H5设计的方向有哪些
  15. mahout探索之旅---频繁模式挖掘算法与理解
  16. 何时是PNE(纯策略纳什均衡)?何时是MNE(混合策略纳什均衡)?
  17. 矢量控制与V/F控制详解
  18. you belong with me(你属于我)
  19. Tomcat配置问题(踩坑记录)
  20. regl vao 三角形交替

热门文章

  1. 通过代理进行页面传值
  2. 【转】sed 简明教程
  3. java中名词概念的理解
  4. Spring AOP的一些概念
  5. HDU1089-1096 A+B for Input-Output Practice 系列问题(输入输出格式练习)
  6. python制作图形化界面_python图形化界面设计(wxpython)一布局管理
  7. java反射最佳实践,java反射性能测试分析
  8. 不停刷朋友圈的人_刷爆朋友圈的推拉门安装方式 90%的人从没见过
  9. Ubuntu中APUE 3rd中实例编译时err_sys函数找不到解决方法
  10. MySQL面试题 | 附答案解析(二)