圣思园java web 部分上课笔记
学习笔记之圣思园-Java-Web培训视频

1.很重要的一个图:jsp执行的粗略流程2.更重要的一个图:jsp执行的详细流程注:上图说明一个大真相,这个真相就是不管jsp是什么样子,最终都会转换成servlet。
这是为什么呢,因为sun公司最早研发的是servlet,但是servlet开发很繁琐,为了解决这个问题,sun公司又开发了jsp,然后servlet又是个很成熟的技术,所以sun公司就把jsp转换成servlet去执行,这样就有了今天的这种情况。
3.一个纯的html页面不能算是严格意义上的jsp页面,必须要加入jsp 元素或者是java代码的页面才算是严格意义上的jsp页面。
Jsp页面都会引入如下代码:<%@ page language="java" import="java.util.* "pageEncoding="UTF-8"%> 此句代码就是在说明可以引入java代码,而且还导入的util类。
这跟一般的html是不一样的。
3.当服务器将jsp转换成servlet的时候,会将jsp中的声明转换成类的成员变量,而将脚本段转换成方法中的局部变量(这个可以在转换后的java文件中看到)。
Servlet是单实例的,这样成员变量的值就只有一个,每个用户都会访问到它,都可以修改它。
而脚本段中的值则是局部变量,每个用户访问的时候各有一份,互不影响。
4.“Page”指令用于定义jsp文件中的全局属性。
作用于整个jsp页面,同样包括静态的包含文件(是否是<%@ include %>)。
但是不能作用于动态的包含文件,比如”<jsp:include>”。
5.Import=”package.class”.下面的包在jsp编译时已经导入了,所以不再需要导入了:ng.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet.http.* 6.forward7.学jsp有什么不懂的,看看转换之后的servlet或许就明白了。
javaweb笔记

//include_deom.jsp 总包含页面 <%@ page language="java" contentType="text/html" pageEncoding="GBK"%> <html> <head>
<title> </title> </head> <body> <%@include file="info.jsp"%> <br> <%@include file="info.html"%> <br> <%@include file="info.inc"%> <br> </body> </html>
如果多个 application 是性能肯定有降低 所以:能使用 page 就不要使用 request,能使用 request 就不要使用 session,能使用 session 则不要使用 application,保存范围越窄则服务器的压力就越小
◆◆◆◆pageContex 决定四种范围◆◆◆◆@@@ pageContext.setAttribute("admin","YangLian",REQUEST_SCOPE); pageContext.setAttribute("admin","YangLian",APPLICATION_SCOPE); pageContext.setAttribute("admin","YangLian",SESIION_SCOPE); pageContext.setAttribute("admin","YangLian",PAGE_SCOPE);
java web笔记

java web笔记JavaWeb是一种基于Java语言开发的Web应用程序开发技术,其主要模块包括Servlet、JSP、JavaBean以及Java EE(Enterprise Edition)等。
1. ServletServlet是一种Java程序,用于处理HTTP请求和响应。
它可以接收来自客户端的HTTP请求并生成HTTP响应。
Servlet实现了javax.servlet.Servlet接口,可以在Web容器中运行。
Servlet可以通过doGet()、doPost()等方法处理HTTP请求,通过request对象获取请求参数,通过response对象生成响应内容。
Servlet还可以通过init()方法进行初始化,通过destroy()方法进行终止。
2. JSPJSP是Java Server Pages的缩写,它是一种基于HTML和Java 的Web开发技术。
JSP可以将Java代码嵌入到HTML页面中,以便动态生成Web页面。
JSP页面可以使用JavaBean来处理业务逻辑,在JSP中使用标签库可以简化开发,如JSTL标签库、EL表达式等。
3. JavaBeanJavaBean是一种Java类,它封装了应用程序中的数据和业务逻辑。
JavaBean通常包含get/set方法,可以通过这些方法访问和修改JavaBean中的属性。
JavaBean的作用是将数据和业务逻辑分离,使得应用程序具有更高的可维护性和可重用性。
4. Java EEJava EE是Java平台的企业版,它提供了一系列API和规范,用于开发大型分布式Web应用程序。
Java EE包含了Servlet、JSP、JavaBean等技术,还提供了EJB(Enterprise Java Bean)、JPA(Java Persistence API)、JMS(Java Message Service)等高级技术。
Java EE还包含了Web容器和应用服务器,如Tomcat、WebLogic、WebSphere等,这些容器可以运行Java Web程序,提供了对Java Web 程序的支持和管理。
Java Web学习笔记

一、J SP基础知识回顾2.2 JSP元素组成JSP文件由6类基本元素组成:✧JSP指令✧JSP声明✧JSP表达式✧JSP脚本✧JSP动作✧JSP注释2.2.1 JSP指令JSP指令的语法格式如下:<%@ 指令名属性="值" 属性="值"%>常用的三种指令为:✧page指令✧include指令✧taglib指令2.2.1.1 page指令page指令用于设置页面的各种属性,如导入包、指明输出内容类型、控制Session等。
page指令一般位于JSP页面的开头部分,一个JSP页面可包含多条page指令。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2.2.1.2 include指令include指令用于在当前JSP中包含其他文件。
被包含的文件可以是JSP、HTML或文本文件。
包含的过程发生在将JSP翻译成Servlet时,当前JSP和被包含的JSP会融合到一起,形成一个Servlet,然后进行编译并运行。
例如:<%@ include file="./top.jsp" %>2.2.1.3 taglib指令taglib指令用于指定JSP页面所使用的标签库,通过该指令可以在JSP页面中使用标签库中的标签。
例如:<%@ taglib uri="/jsp/jstl/core" prefix="c" %>2.2.2 JSP声明JSP声明用于在JSP页面中定义变量和方法。
JSP声明通过“<%! %>”定义。
一个JSP页面可以有多个声明,并且每个声明中可以同时定义多个变量或方法,其中,每个JSP声明只在当前JSP页面中有效。
javaweb快速复习笔记

javaweb 快速复习笔记javaweb 详解⼀.TomcatTomcat 是Apache 软件基⾦会(Apache Software Foundation )的Jakarta 项⽬中的⼀个核⼼项⽬,由Apache 、Sun 和其他⼀些公司及个⼈共同开发⽽成。
Tomcat 服务器是⼀个免费的开放源代码的Web 应⽤服务器,属于轻量级应⽤服务器,在中⼩型系统和并发访问⽤户不是很多的场合下被普遍使⽤,是开发和调试JSP 程序的⾸选。
对于⼀个初学者来说,可以这样认为,当在⼀台机器上配置好Apache 服务器,可利⽤它响应HTML (标准通⽤标记语⾔下的⼀个应⽤)页⾯的访问请求1. javaWeb 本体的⽬录:该⽬录下存放的是⼆进制可执⾏⽂件,如果是安装版,那么这个⽬录下会有两个exe ⽂件:tomcat8.exe 、tomcat8w.exe ,前者是在控制台下启动Tomcat ,后者是弹出UGI 窗⼝启动Tomcat ;如果是解压版,那么会有startup.bat 和shutdown.bat ⽂件,startup.bat ⽤来启动Tomcat ,但需要先配置JAVA_HOME 环境变量才能启动,shutdawn.bat ⽤来停⽌Tomcat ;:这是⼀个⾮常重要的⽬录,这个⽬录下有四个最为重要的配置⽂件.:配置整个服务器信息。
例如修改端⼝号,添加虚拟主机等;:存储tomcat ⽤户的⽂件,这⾥保存的是tomcat 的⽤户名及密码,以及⽤户的⾓⾊信息。
可以按着该⽂件中的注释信息添加tomcat ⽤户,然后就可以在Tomcat 主页中进⼊Tomcat Manager 页⾯了;:部署描述符⽂件,这个⽂件中注册了很多MIME 类型,即⽂档类型。
这些MIME 类型是客户端与服务器之间说明⽂档类型的,如⽤户请求⼀个html ⽹页,那么服务器还会告诉客户端浏览器响应的⽂档是text/html 类型的,这就是⼀个MIME 类型。
Javaweb笔记

Java web笔记集中式应用系统1、结构:有一个大型的中央系统和许多终端组成,数据及所有的业务处理都有中央系统来完成,终端只负责和用户的交互。
2、优点:备份容易、成本相对较低。
3、缺点:效率低。
分布式应用系统1.结构:数据的存储和处理有很多不同的系统来完成。
2.优点:效率高,能适应用户的不同需求,资源能够在最大程度上共享。
3.缺点:备份困难、成本稍高,安全性低。
分布式应用种类1.两层结构:代表性为C/S结构:client/Server结构,server通常只是一个数据库服务器,client做大部分的业务逻辑的处理。
a)优点:性能较好、交互性强。
b)缺点:安装升级困难,开发成本较高。
2.三层结构:与两层结构相比,三层结构在客户端和服务器之间加了一个中间层,中间层主要用来处理用户的业务逻辑。
三层主要为c)数据层:主要用来保存数据,负责从数据库中读写数据。
d)中间层:也叫功能层,主要用来负责业务逻辑的处理。
e)客户层:主要用来和用户打交道,负责显示和发送请求。
i..优点:a)系统的逻辑结构非常清晰。
b)系统的升级相对容易。
ii.缺点:a)速度相对较慢。
b)交互性差。
3.B/S结构:是三层结构的一种典型代表,客户端有Browser来担任。
f)优点:安装,升级非常方便。
N层结构:1、client:2、control:控制类3、service:业务逻辑4、DATA server:B/S结构和C/S结构的差异1.结构不同:2.系统维护不同:3.速度不同:4.硬件环境不同:B/S通常是部署广域网上,C/S通常是部署在局域网上。
web应用的相关知识1、超文本:2、超媒体:3、web:是一个包含超文本和超媒体的信息系统。
4、web历史5、web特点:a)易于导航。
b)与平台无关。
c)是分布式的。
d)可以是动态的。
6、web资源:是互联网上的一种信息,分布于全球不同的计算机的。
分为:a)静态资源:静态的文件,比如HMTL。
北京圣思园java课堂笔记

JAVA SE Lesson 11. 类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念。
先有类,然后由类来生成对象(Object)。
对象又叫做实例(Instance)。
2. 类由两大部分构成:属性以及方法。
属性一般用名词来表示,方法一般用动词来表示。
3. 如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,换句话说,定义的多个类可以都不是public的。
4. 在Java中进行方法的参数传递时,无论传递的是原生数据类型还是引用类型,参数传递方式统一是传值(pass by value)。
Java中没有传引用(pass by reference)的概念。
5. 方法重载(Overload)。
表示两个或多个方法名字相同,但方法参数不同。
方法参数不同有两层含义:1)参数个数不同。
2)参数类型不同。
注意:方法的返回值对重载没有任何影响。
6. 构造方法重载:只需看参数即可。
如果想在一个构造方法中调用另外一个构造方法,那么可以使用this()的方式调用,this()括号中的参数表示目标构造方法的参数。
this()必须要作为构造方法的第一条语句,换句话说,this()之前不能有任何可执行的代码。
7. 继承(Inheritence):Java是单继承的,意味着一个类只能从另一个类继承(被继承的类叫做父类【基类,base class】,继承的类叫做子类),Java中的继承使用extends关键字。
8. 当生成子类对象时,Java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类的对象。
接下来,再去调用子类的构造方法,生成子类的对象。
【要想生成子类的对象,首先需要生成父类的对象,没有父类对象就没有子类对象。
比如说:没有父亲,就没有孩子】。
9. super关键字:super表示对父类对象的引用。
10. 如果子类使用super()显式调用父类的某个构造方法,那么在执行的时候就会寻找与super()所对应的构造方法而不会再去寻找父类的不带参数的构造方法。
JAVA WEB研学笔记

Java-Web研学笔记JA V A WEB研学笔记内容一、JAVA WEB学习与上机操作的详细过程1、阅读了教材或参考资料上的哪些内容?1)在Tomcat中发布JavaWeb应用主要内容有:Tomcat简介、安装、环境变量设置,在webapps目录下创建JavaWeb应用:在Tomcat中发布JavaWeb应用的最快捷的方式,就是直接把JavaWeb应用的所有文件复制到Tomcat安装目录下的webapps目录下。
在默认情况下,Tomcat安装目录下的webapps目录下所有Web应用运行在名为“localhost”的虚拟主机中,在发布应用时,就不需要再在配置文件中做相应的配置了。
2)javaWeb开发之四种数据库连接——Acess、MySQL、sqlserver 2005、oracle①Acess连接方法:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“) ;String.url=“jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=“+application.getRealPath(“/Data/ReportDemo.mdb“);Connection.conn = DriverManager.getConnection(url,““,“”);Statement.stmtNew=conn.createStatement() ;②MySql连接方法Class.forName(“org.gjt.mm.mysql.Driver“).newInstance();Stringurl=“jdbc:mysql://localhos t/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1“;//myDB为数据库名Connection.conn= DriverManager.getConnection(url);③sqlserver2005连接方法Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver“).newInstance();Stri ng.url=“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb“;//mydb为数据库er=“sa“;String.password=““;Connection.conn= DriverManager.getConnection(url,user,password);④Oracle连接方法Class.forName(“oracle.jdbc.driver.OracleDriver“).newInstance();String.url=“jdbc:oracle:thin:@localhost:1521:orcl“; //orcl为数据库的SIDer=“system“;String.password=“system“;Connection.conn=DriverManager.getConnection(url,user,password);3)struts1、struts2简介Struts的起源Struts最早是作为Apache Jakarta项目的组成部分问世运做。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java Web Lesson 11. HTML(Hyper Text Markup Language),超文本标记语言。
HTML文件的后缀名一般是:.htm,.html2. 表单(form):3. 浏览器内核:WebKit,trident4. CSS定义的语法:selector {property: value}5. Http是一个基于请求/响应模式的,无状态的协议(request/responsebased ,stateless protocol)Java Web Lesson 21.浏览器与服务器连接的一般过程:2. 当我们通过在浏览器的地址栏中直接输入网址的方式去访问网页的时候,浏览器采用的就是GET方法向服务器获取资源3. Tomcat环境变量的配置:4. Tomcat、Resin、Jetty、Weblogic、WebSphere、JBoss5. 在Tomcat安装目录的conf目录下打开server.xml文件,找到倒数第四行</Host>,在</Host>上面加入如下XML片段:6. 启动Tomcat(startup.bat),打开浏览器,访问如下地址:http://localhost:8080/test/login.jsp7. web.xml(deployment descriptor),部署描述符8. 我们可以将Servlet看作是嵌套了HTML代码的Java类;可以将JSP看作是嵌套了Java代码的HTML页面。
9. get与post方法之间的差别:1)浏览器地址栏呈现的结果不同(表象)2)真正的原因在于向服务器端发送请求时的形式是不同的3)get的请求格式:4)post的请求格式:10. 通过浏览器进行文件上传时,一定要使用post方式而绝不能使用get 方式。
11. 通过浏览器地址栏输入网址的方式来访问服务器端资源,全部使用的是get方法请求的。
12. 客户端、服务器与Servlet/JSP之间的关系Java Web Lesson 3 1. 课堂练习:2. JSP执行流程:3.JSP 执行详细流程:4. JSP 最终都会转换为Servlet 去执行。
5. JSP 声明的格式:<%! int a = 3;%>,脚本段的形式:<% int b = 3;%>,当服务器将JSP 转换为Servlet 时,会将JSP 中的声明转换为类的成员变量,而将脚本段转换为方法中的局部变量,Servlet是单实例的,这样成员变量的值就只有一个,每个用户都会访问到它,而脚本段中的值则是局部变量,每个用户访问的时候各有一份,互不影响。
6. JSP包含(include)7. <jsp:forward>指令用于转向页面,在该指令后面的所有代码都没有机会执行了,因为页面的流程已经转向了另外一个页面了。
8. getParameter方法是getParameterValues方法的特例,表示请求参数值只有一个,如果请求参数值有多个,请使用getParameterValues方法。
在多选框的情况下,需要使用getParameterValues方法来获取用户所选择的多个复选框的值。
Java Web Lesson 41. request的setAttribute与getAttribute方法一般都是成对出现的,首先通过setAttribute方法设置属性与属性值,然后通过getAttribute方法根据属性获取到与该属性对应的对象值(获取到之后一般都需要进行向下类型转换,将属性值转换为真正的对象)。
setAttribute与getAttribute方法都是在服务器端内部执行的,客户端不知道服务器端是否执行过这两个方法。
2. request的getParameter方法的作用是获取到客户端通过表单或url请求参数所发送过来的参数值,是客户端与服务器端之间的交互,服务器端要想获取到客户端发送过来的数据,就需要使用getParameter方法来获取。
没有与getParameter方法对应的setParameter方法。
3. request对象内数据的存活范围就是在request对象的存活范围内,当客户端向服务器端发送一个请求,服务器向客户端返回一个响应后,该请求对象就被销毁了;之后再向服务器端发送新的请求时,服务器会创建新的request对象,该request对象与之前的request对象没有任何关系,因此也无法获得在之前的request对象中所存放的任何数据。
4. session对象内数据的存活范围也就是session对象的存活范围(?只要浏览器不关闭,session对象就会一直存在?),因此在同一个浏览器窗口中,无论向服务器端发送多少个请求,session对象只有一个。
5. application(应用对象):存活范围最大的对象,只要服务器没有关闭,application对象中的数据就会一直存在。
在整个服务器运行过程当中,application对象只有一个。
6. request、session以及application这3个对象的范围是逐个增加的:request 只在一个请求的范围内;?session是在浏览器窗口的范围内?;application则是在整个服务器的运行过程中。
Java Web Lesson 51. HttpServletResponse对象的sendRedirect(String location)方法称作重定向。
如果location地址前面加上“/”,则表示相对于Servlet容器的根来请求,即http://localhost:8080,如果location地址前没有加上“/”,则表示相对于当前请求的URI来寻找地址。
2. RequestDispatcher的forward(request, response)方法称作请求转发。
3. 请求转发与重定向的区别。
1)请求转发,整个过程处于同一个请求当中2)重定向。
实际上客户端会向服务器端发送两个请求。
3 )RequestDispatcher 是通过调用HttpServletRequest 对象的getRequestDispatcher()方法得到的,是属于请求对象的方法。
4)sendRedirect()是HttpServletResponse 对象的方法,即响应对象的方法,既然调用了响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行的结果。
5)重定向在FireBug 中的示意图4. 练习(投票管理系统)项目执行流程1. 出题目1)设定题目名称2)设定选项数量以及每个选项的名称3)设定投票的类型(单选,多选)2. 投票5. MVC设计模式(Model 模型View 视图Controller 控制器)。
6. JavaBean的规范要求7. 一个典型的JavaBean8. JSP访问JavaBean的语法Java Web Lesson 61. 可以在<jsp:setProperty>中通过param参数为bean的属性动态赋值。
对应的Servlet代码是:2.JavaBean的存活范围:3. 当将JavaBean放在session范围内时生成的Servlet源代码是:4. 当将JavaBean 放在application 范围内时生成的Servlet 源代码是:5. 每一个Servlet 都必须要实现Servlet 接口,GenericServlet 是个通用的、不特定于任何协议的Servlet,它实现了Servlet 接口,而HttpServlet 继承于GenericServlet,因此HttpServlet 也实现了Servlet 接口,所以我们定义的Servlet 只需要继承HttpServlet 父类即可。
6. Servlet 接口中定义了一个service 方法,HttpServlet 对该方法进行了实现,实现方式就是将ServletRequest 与ServletResponse 转换为HttpServletRequest 与HttpServletResponse7. 转换完毕后,会调用HttpServlet类中自己定义的service方法,如下所示8.在该service方法中,首先获得到请求的方法名,然后根据方法名调用对应的doXXX方法,比如说请求方法为GET,那么就去调用doGet方法;请求方法为POST,那么就去调用doPost方法。
9. 在HttpServlet类中所提供的doGet、doPost等方法都是直接返回错误信息,所以我们需要在自己定义的Servlet类中override这些方法10. 源码面前,了无秘密11. Servelt 核心API 之间的关系UML 图:12. Servlet 的启动Java Web Lesson 71. 对于Tomcat来说,它会将客户传递过来的参数放在一个Hashtable中,该Hashtable的定义是:这是一个String->String[]的键值映射。
2. 某些Servlet在web.xml文件中只有<servlet>元素而没有<servlet-mapping>元素,这样我们就无法通过url地址的方式访问这个Servlet了,这种Servlet 通常会在<servlet>元素中配置一个<load-on-startup>子元素,让容器在启动的时候自动加载该Servlet,并且调用其init方法完成一些全局性的初始化工作。
3. Servlet的多线程同步问题:Servlet本身是单实例的,这样当有多个用户同时访问某个Servlet时,会访问该唯一的Servlet实例中的成员变量,如果对成员变量进行写入操作,那就会导致Servlet的多线程问题,即数据不一致。
4. 解决Servlet多线程同步问题的最好方案:去除实例变量,使用局部变量5. Servlet是纯Java语言,擅长于处理流程和业务逻辑。
6. Session的原理图Java Web Lesson 81. 过滤器(Filter):1)Servlet过滤器本身并不生成请求和响应对象,它只提供过滤作用。
2)Servlet过滤器能够在Servlet被调用之前检查Request对象,修改Request Header和Request内容;3)在Servlet被调用之后检查Response对象,修改Response Header和Response内容。
Servlet过滤器负责过滤的Web组件可以是Servlet、JSP 或HTML文件。
2. 过滤器的过滤过程:3.过滤器的链式请求处理过程(FilterChain)Java Web Lesson 101. 在js中为某个对象(控件)绑定事件通常可以采取两种手段:1)<input type=”button” onclick=”clickHandler();”>2)<input type=”button” id=”button1”><script type=”text/javascript”>var v = document.getElementById(“button1”);v.onclick = clickHandler;</script>2. 有两种类型的cookie1)持久性cookie,会被存储到客户端的硬盘上。