java web总结

时间:2024.3.15

Java Web 总结

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)脚本段:<% %>

(3)声明:<%! %>不会产生任何输出内容→声明全局变量。

(4)表达式:<%= %>

(5)EL表达式:${ }

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

(7)page指令、include指令、taglib指令

page指令:language属性、contentType(text/html)、text/plain application/msword、application/x-msexecl、PageEncoding、info、import属性.

include指令:在JSP页面中静态包含一个文件 <@include file=" "%> taglib指令: <%@taglib uri="标记库的uri地址" prefix="前缀名"%> 指令元素翻译阶段执行,动作元素执行阶段被执行。

<jsp:include>用于包含其他文件可以是静态文件,也可以是动态文件。 <jsp:include>?</jsp:include>包含动态文件时

用<jsp:param>传 (建一值)

考点:

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

1.执行时间不同

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

动作<jsp:include page=" ">?</jsp:include>是运行时包含的文件

2.引入内容不同

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

动作<jsp:include page="relativeURI" flash="true"/>引入执行页面或severlet的应答文本。

5.JSP内置对象

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

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

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

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

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

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个标记:

<jsp:useBean>网页中创建JavaBean实例

<jsp:setProperty>用于为bean中的属性赋值

<jsp:getProperty>用于获取bean中属性的值

<jsp:useBean> id=”javaBean实例名” class=”javaBean对应的类名” <jsp:setProperty> 设置<jsp:useBean>的属性

<jsp:getProperty>获取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.不带有属性和标签体:<my prefix:sometag/>

2.带有属性没有标签体的标签:<myfrefix.sometag . myAttribute:"test"/>

3.带有属性带有标签体:<myprefix:someteg myAttribute="test"/> myBody

</myprefix:sometag>

17.EL表达式

基本语法${expr}

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

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

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

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

请求参数${param.custID}

Cookie对象:${cookie.userCookie}

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

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

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

${class[0].name}=${class[0][name]}

${param.username}={%=request.getparameter("userName")%}

19."."与"[ ]"使用存在差异

1.当访问的数据中包含一个特殊字符(如:"."或"_"时),就必须用"[ ]"操作符

2.当动态取值时必须使用"[ ]"操作符,"."操作符只能取到静态的值

注:当"[ ]"操作符中的属性名为常量时必须用''''引起,否则将会当做变量来处理.

20.SQL标签

1.<sql:set Data Source>标签

2.<sql:query>执行数据库查询

3.<sql:update>执行数据库更新

4.<sql:param>和<sql:dateParam>指明参数值

5.<sql:transaction>用于事务处理

21. Tomcat的目录结构及描述:

\bin 放置启动和关闭Tomcat的可执行文件和批处理文件

\common 放置在此目录中的jar、class文件,可以被此服务器下所有的web应用使用

\conf 放置Tomcat的主要配置文件

\logs 放置Tomcat的日志文件

\server 放置Tomcat管理接口的应用

\src 放置Tomcat相关的源代码

\temp 放置Tomcat临时文件

\webapps 放置Tomcat应用的目录

\work 放置JSP页面翻译成对应的Servlet类的目录


第二篇:JavaWeb总结


UserDaoImpl.java

package cn.itcast.dao.impl;

import org.apache.commons.dbutils.QueryRunner;

import org.apache.commons.dbutils.handlers.BeanHandler;

import cn.itcast.dao.UserDao;

import cn.itcast.domain.User;

import cn.itcast.utils.JdbcUtils;

public class UserDaoImpl implements UserDao {

public void add(User user){ try{

QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());

String sql = "insert into

user(id,username,password,phone,cellphone,address,email) values(?,?,?,?,?,?,?)"; Object params[] = {user.getId(),user.getUsername(),user.getPassword(),user.getPhone(),user.getCellphone(),user.getAddress(),user.getEmail()};

} public User find(String id){ try{ runner.update(sql, params); }catch (Exception e) { } throw new RuntimeException(e);

QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());

String sql = "select * from user where id=?"; return (User) runner.query(sql, id, new BeanHandler(User.class));

} public User find(String username,String password){ try{ }catch (Exception e) { } throw new RuntimeException(e);

QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());

password=?";

String sql = "select * from user where username=? and Object params[] ={username,password}; return (User) runner.query(sql, params, new BeanHandler(User.class));

}

} }catch (Exception e) { } throw new RuntimeException(e);

更多相关推荐:
javaweb总结

1javaweb应用的目录结构web程序文件夹WEBINFwebxmlclasses源程序对应的classlib程序用到的第三方库jar2如何用javac来编译程序a需要用到j2ee相关的jar将这些jar放到...

javaWeb总结+小结

JavaWebBS与CS的区别1从安装上来讲BS只需要在服务器端安装即可而CS却需要每一个客户端进行安装2从部署上来说BS只需要服务器能够支持即可而CS却对每一个客户端的电脑提出了要求3从升级维护角度来说BS只...

JavaWeb期末总结

第一章Web开发基础知识简单描述表单续表单元素ltFORMmethodquotGETPOSTactionquotURLquotgtformbodyltFORMgtltFORMgt元素括起整个表单并给出一些基本定...

JavaWeb大总结

day01XML的主要内容1XML的作用2XML语法3DTD的约束4用Java语言编写XML数据解析器JAXPDOM4J5Xpath6Schema约束7Eclipse的基本使用8JUnit单元测试9Debug调...

javaweb学习心得

学习心得在写心得之前总结下中级部分学习的内容,我们的中级部分主要学习了html,css,javacript,xml,dtd/scheam,以及javaee中的jsp,servlet,过滤器,监听器,JSTL,E…

JavaWeb总结

一XMLExtensibleMarkupLanguage扩展标记语言1作用描述数据存储数据交换数据2格式ltxmlversion10encodingGBKgtltxml声明注释gtltrootgtltrowgt...

JavaWeb基础与SSH框架知识总结

一、JSP知识:1.用户第一次请求JSP页面时,JSP引擎会转译该JSP文件为Servlet文件(.java),并编译该文件,生成字节码文件(.class)。最后将一个HTML页面发送给客户端。用户再次请求JS…

Java web 开发教程学习心得

Javaweb开发教程学习心得Javaweb课程结束了,在完成了eclipse三份实验报告之后我开始总结这门课程自己究竟学到了什么。从C语言到Java,再到jsp,最后到javaweb,一直都在与编程都打交道,…

javaweb开发要学习的所有技术和框架总结:

学习javaweb开发要学习的技术和框架总结:前言:当初想学习javaweb开发的时候,希望能够全方面地学习(这样找工作时就胸有成足了)。但是对这个根本不理解,又不认识从事这方面的熟人,所以学习起来无从下手。经…

Java Web实训总结

Jspservletmysql论坛项目实训总结实训人程路峰学号11103303通过为期10天的实训我学习了很多关于JavaWeb的知识在老师的正确指导下顺利的完成了我的实训内容在此也有同学的帮助在他们的帮助下我...

java web 工作原理总结

总结第一章javaweb工作原理11web应用程序有web服务器web客服端浏览器HTTP协议以及静态HTML文件Web服务器的作用是接受客服端请求然后向客服端返回些结果浏览器的作用是允许用户请求服务器上的某个...

JavaWeb学习总结

一基本概念11WEB开发的相关知识WEB在英语中web即表示网页的意思它用于表示Internet主机上供外界访问的资源Internet上供外界访问的Web资源分为1静态web资源如html页面指web页面中供人...

java web总结(27篇)