您的当前位置:首页实训的总结

实训的总结

2023-12-09 来源:小侦探旅游网

  1.JSP运行原理

  (1)用户通过客户端浏览器向服务器发送请求。

  (2)JSP文件将JSP引擎编译成Java的class文件,即servlet。

  (3)将产生的servlet加载到内存执行。

  (4)Servlet的运行结果以HTML(或XML)形式通过web服务器返回客户端的浏览器。

  2.web项目设计

  (1)公开目录 (2)web_INF目录 (3)Class目录

  3.JSP的基本语法

  (1)脚本元素:声明、脚本段、表达式。

  (2)脚本段:<%>

  (4)表达式:<%=>

  (5)EL表达式:${ }

  (6)指令元素:<%>不在客户端可见

  用于包含其他文件可以是静态文件,也可以是动态文件。?包含动态文件时

  用传 (建一值)

  考点:

  4.指令与动作的区别(include)

  1.执行时间不同

  指令<%@ include="" file=" ">是偏译时包含静态文件

  动作?是运行时包含的文件

  2.引入内容不同

  指令<%@include file="relatirveURI">引入静态文本(html.jsp)。

  动作引入执行页面或severlet的应答文本。

  5.JSP内置对象

  Out,request,response,session,application,page,pageContext,exception,config

  request客户端向服务端发送请求。

  response用于服务器端封装JSP处理请求后产生的结果。

  response对象的send Redirect(url)方法相当于两次请求。

  而在网址不变情况下内部跳转不同页面,但依旧属于同一次请求

  6.session和cookie的区别

  1.存放地点不同

  Session存放在服务器端,cookie存放在客户端的硬盘里

  2.存活时间

  session随用户访问服务器而产生,随客户下线或超时而消失

  3.安全性

  session存放在服务器端,不能被修改,且随客户端浏览器的关闭而消失,安全性较好。Cookie存放在客户端,安全性较差。

  7.数据库

  java.sql.Driver

  java.sql.DriverManager——加载驱动程序

  java.sql.Connetion——表示数据库连接对象,对数据库一切操作都在这个基础上

  java.sql.Statement——执行SQL语句和返回结果

  java.sql.ResultSet——结果集用来暂时存放数据库查询操作结果

  8.编写程序的步骤

  1.装载驱动程序

  class.forName("com.mySQL.jdbc.Driver")

  2.定义所需连接数据库的地址

  String mysqlURL="jdbc.mysql://host:port/dbName"

  3.建立与数据库的连接

  Connection conn=DriverMannager.get Connection(url,"登录数据库用户名","

  密码")

  4.声明并执行SQL语句

  5.处理返回的结果

  6.关闭对象

  String driverStr="com.mysql.jdbc.Driver"

  String connstr="jdbc:mysql://localhost:3306/book";

  Class forName(driver Str)

  Connection conn=DriverManager.getConnection(connstr."root"."123") 第4步:建立语句对象

  Statement stmt=conn.createStatement()

  第5步:声明并执行SQL语句

  String sql="select*from book";

  ResultSet rs=stmt.executeQuery( sql);

  第6步:

  Statement接口的3个方法:1、ResultSet executeQuery(String sql)

  2、int execute Update(String sql)

  3、boolean execute(String sql)

  ResultSet的方法:1、boolean next()

  2、get xxx()

  第7歩:rs.close() stmt.close() con.close()

  注:关闭资源的顺序与打开资源顺序恰好相反。

  第8步:异常处理

  try{.........}catch(SQLExecption ex){.........}

  9.Java Bean 组件(可重用)

  组件:是一个独立的模块,外界可以不了解内部如何实现,只需通过其提供的接口对组件进行访问即可,组件可重用。

  特点:1、实现代码重复使用;2、易编写,易维护,易使用。

  10.Java Bean类的编码约定

  1、类实现了java.io.Serializable接口

  2、必须放在某个Package(包)中

  3、类中如果有构造方法,那么这个方法是共有的,并且无参数

  4、所有属性都是私有的(private修饰)

  5、get XXX:用来获取属性,此方法是共有的

  6、set XXX:用来设置属性,此方法是共有的

  7、对于boolean类型的成员变量允许使用“is”代替“get”和“set”

  8、类中的普通方法不适合上面的命名规则,但这个方法必是public的。

  3个标记:

  网页中创建JavaBean实例

  用于为bean中的属性赋值

  用于获取bean中属性的值

  id=”javaBean实例名” class=”javaBean对应的类名”设置的属性

  获取JavaBean实例指令的属性值,并将这个值转换成字符串显示到JSP页面。

  11.servlet的生命周期

  (1)当客户第一次请求servlet时,servlet被加载到内存 容器会创建servlet实例,并调用其init()方法进行初始化工作。

  (2)容器创建请求对象,然后调用servlet的service()方法为客户提供服务。

  (3)当servlet不再被需求时,容器调用servlet的destory()方法将servlet实例销毁。

  12.Servlet开发

  引入import.javax.servlet.* 和import.javax,servlet.http.*包

  13.Servlet过滤器

  Servlet过滤器是一种java组件,它位于客户端和处理程序之间

  Servlet过滤器工作原理

  14.Model1和model2

  Model1:JSP+JavaBean

  Model2:JSP+Servlet+JavaBean

  Model1中,jsp页面实现页面显示、业务逻辑和流程控制,数据处理由JavaBean完成。

  优点:进行快速和小规模的应用开发时优势非常明显。

  缺点:不利于web应用的扩展和更新;调试和排错困难。

  Model2中,MVC模式--->模型-视图-控制器.即把web应用的输入输出和处理流程按照Model.View和Controller分成三层。

  Model1和Model2的区别:

  Model1和Model2实际上就是对采用JSP技术开发的web应用的不同模型的描述。Model1采用JSP+JavaBean技术开发web应用,它比较适合小规模应用的开发,效率较高,易于实现,但由于在JSP页面中内嵌了大量的Java代码,以至于当业务逻辑复杂时,代码可维护性、可扩展性和可重用性就会下降;Model2采用JSP+Servlet+JavaBean技术开发web应用,该模型基于MVC模式,完全实现了页面显示和逻辑的分离,它充分利用了JSP和Servlet两种技术的优点,JSP更适合前台页面的开发,而Servlet更擅长服务器端程序的编写,Model2分工明确,更适合大型项目的开发和管理。

  视图(view)用于与用户交互,可以用HTML.JSP实现。

  15.模型(model)用于表示业务数据和实现业务逻辑,可以用JavaBean实现 控制器(controller)完成流程控制,它接收来自视图层用户输入的数据,并调用相应的模型进行处理,最后选择合适的视图去响应用户。控制层可以用Servlet实现。

  优点:MVC模式完全实现了页面表示和业务逻辑的分离;

  MVC优势之一在于三层各司其职,互不干涉。

  缺点:没有明确的定义。

  模型层为JavaBean,实现了数据的表示和业务逻辑,视图层为JSP页面,只负责显示功能。

  控制器为Servlet,负责接收用户的请求,设置JavaBean属性,调用JavaBean完成业务处理,最后将处理结果交给JSP页面显示。

  16.自定义标签

  对隐式对象的操作、处理表单、访问数据库及其他企业级服务。

  自定义标签种类:

  1.不带有属性和标签体:

  2.带有属性没有标签体的标签:

  3.带有属性带有标签体:myBody

  17.EL表达式

  基本语法${expr}

  功能:对属性对象的简明访问:${user}

  对属性对象的属性访问:${customer.firstname}

  对属性集合元素的访问:对数组和list:${variable[index]} 对map:${variable[key]}

  对请求参数cookie等的简单访问.

  请求参数${param.custID}

  Cookie对象:${cookie.userCookie}

  18."."操作符和"[ ]"操作符

  ${user.address}=${user[address]}

  访问数组和集合元素,需使用[ ]

因篇幅问题不能全部显示,请点此查看更多更全内容