第一章
1、什么是web?
web是world wide web 的简称,中文译为万维网,是Internet上的一种服务。
2.web在组成上包括的2部分:服务器、客户端
3 、什么是web应用?
web应用程序是一种使用HTTP(HyperText Transfer Protocol,超文本传输协议)作为核心通信协议,通过Internet让web浏览器和服务器通信的计算机程序
4.web应用程序的开发技术分为:客户端开发技术和服务器端开发技术俩种。
5.客户端开发技术包括:HTML(超文本标记语言)、CSS(层叠样式表)、ActiveX、JavaScript、jQuery。
6.服务器端开发技术包括:
JSP/Servlet:服务器端的java应用程序,可以生成动态的web页面。
PHP:在服务器端执行的嵌入HTML文档的脚本语言。
ASP/ASP.NET:微软公司推出的用于构建Windows服务器平台上的Web应用程序。
7.应用程序的工作模式分为2种:C/S模式和B/S模式。
8.采用B/S模式的web应用程序分为3层结构:
表示层:采用web浏览器实现。
业务逻辑层:由位于web服务器上的各种服务器端程序实现。
数据服务层:由数据库服务器提供,数据库服务器有MYSQL、Oracle等。
9.java语言的特性:平台无关性,安全性,面向对象,异常处理
10.java web应用的核心技术包括:JSP(进行输入和输出的基本手段)、JavaBean(完成功能的处理)、Servlet(对应用的流程进行控制)、JDBC(与数据库进行交互不可缺少的技术)、JSTL和表达式语言EL(完成对JSP页面中各种信息的控制和输出)。
第二章
1.安装JDK的环境变量配置:
新建系统变量JAVA-HOME,变量的值为:“C:/Program Files(x86)/JAVA/jdk1.8.0._111" // jdk的文件绝对路径
新建系统变量classpath,变量的值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
找到Path变量,编辑系统变量:%MYSQL_HOME%\bin
2.Tomcat是一个轻量级的Java Web容器
3.Tomcat的安装方式:
一、将Tomcat安装为Windows服务;
二、将Tomcat安装为命令行应用程序。
4.Tomcat的配置:
第三章
1.Servelet定义:它是一个运行在Web服务器上的java小程序。Servlet将会接收和响应来自wwb客户端的请求,使用HTTP(超文本传输协议)进行通信。
2.JSP的工作原理:容器首先会把这个JSP文件转换成一个Servlet(java源文件)。在转换过程中如果发现JSP文件有语法错误,转换过程将中断,并向服务器端和客户端输出出错信息。如果转换成功,JSP引擎会把该java源文件编译成相应的.class文件,因为这个过程会耗费一定时间。
3.JSP文件中的内容:JSP的编译指令、JSP的动作指令、JSP声明、JSP脚本、使用表达式、注释语句。
4.JSP的主要3个编译指令:page指令、include指令和taglib指令。
page指令:用于定义JSP页面中的全局属性。
page指令的属性:language:申明脚本语言的种类,暂时只能用“java”
import需要导入的java包的列表,这些包被用于程序段、表达式以及声明。
contentType设置页面的MIME类型。默认MIME类型是:text/html
pageEncoding:指定JSP页面的字符编码,可以使用contentType=“text/html”pageEncoding=”UTF-8”取代之前的content Type=”text/html;charset=UTF-8”
5.page指令作用于整个JSP页面,同样包括静态的包含文件。再一个JSP页面中,可以有多个page指令,但是其中的属性只能用一次,import属性除外,因为import属性和Java中的import语句差不多,所以可以多次使用此属性。
Include指令用于在JSP页面中包含其他文件,包含的过程是静态的,包含的文件可以是JSP、HTML或inc文件。
Taglib指令允许用户使用标签库自定义新的标签。
JSP的动作指令:
Jsp:include指令:包含的过程是静态的,而jsp:include指令则是动态的方式
<jsp:include page=”文件路径”>
Jsp:forward指令:可以将当前JSP正在处理的一些请求转发至其他JSP。与jsp:include不同的是,被转发的请求不会再返回到原始ISP中。
Jsp:param指令:用于设置参数值,他不能单独使用,主要用再jsp:include、jsp:forward和jsp:plugin标签中
Jsp:plugin指令:是一个在HTML页面中内嵌JavaAPPLET的便利工具。
Jsp:useBean指令:用来在JSP页面内创建一个JavaBean实例。
Jsp:getProperty指令:用来读取Bean的属性值,并将其转换成一个字符串,输出的页面上。
Jsp:setProperty指令:用来设置Bean属性的值
JSP声明:指在JSP页面中定义合法的变量、方法或声明标签中的类,但是它们都只在当前页面中有效。
JSP脚本:与声明类似,脚本需要包含<%和%>标记之间。
使用表达式:JSP表达式也是Java代码,用于向客户端输出一些内容,表达式需要包含在<%=和%>标记之间。
注释语句:在jsp文件中可以使用4种注释方式:HTML注释、传统的Java行注释、传统的Java块注释、JSP注释。<!-- à
6.JSP内置对象
request对象:代表着从用户发送过来的请求,通过该对象可以获取客户端用户提交的数据或参数;这个对象只有接受用户请求的页面才可以访问。
request对象:是HTTP Servlet Request的一个实例,主要用来获取客户端请求的数据,包括头信息、客户端地址、请求方式、请求参数等。
request的常有方法:
getAttribute(String name):获取指定属性的属性值
getParameter(String name):获取name指定参数的参数值
getServerName():获取接受请求的服务器主机名
response对象:是HTTP Servlet Response的一个实例,主要用来对客户端的请求做出动态响应,向客户端发送响应数据。
response的常有方法:
getCharacterEncoding():返回响应时采用的是字符编码
getWriter():返回可以向客户端输出字符的一个对象
session对象:从一个客户打开浏览器到服务器开始,到客户关闭浏览器断开与服务器的连接结束,这个阶段成为会话。Session对象就是用来保存用户的会话信息和会话状态的,它是HTTP Session的一个实例。Session对象在第一个JSP页面被装载是自动创建,完成会话期管理。对于想在整个交互过程中都可以访问的信息,可以选择存放在session对象中。
Out对象:是在web应用开发过程中使用最多的一个对象,其功能就是动态地向JSP页面输出字符流,从而把动态的内容转换成HTML形式来展示,
Page对象:就是指当前JSP页面本身,可以将它强制转换为Servlet对象,并使用Servlet接口中已定义的方法。
application对象:在用户间实现了数据的共享,可存放全局变量。
config对象:是Servlet Config接口的一个实例。可以使用该对象访问JSPServlet的配置,在一个Servlet初始化时,JSP引擎向它传递信息。
7.JSP中的中文显示问题
1、JSP页面中包含中文不能保存的问题如何解决?
击对话框中的“Save as UTF-8”
在JSP文件的Page指令中指明页面编码。
<% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>2、JSP输出中文乱码的问题如何解决?
在page指令中指明的页面的编码方式,修改如下代码:
<% page language=*"java"* import=*"java.util.\*"* contentType=*"text/html; charset=UTF-8"* pageEncoding=*"UTF-8"*%>
3、表单通过POST方式提交的中文如何才能正常显示?
使用request.setCharacterEncoding("UTF-8");设置编码方式为UTF-8。
通过String类的getBytes方法进行编码转换。
User=new
String(request.getParameter(“user”).getBytes(“iso-8859-1”),”utf-8”);
4、表单通过GET方式提交的中文如何才能正常显示?
使用request.getQueryString()获取请求字符串,然后解码并分析此字符串,从而得到请求参数。
修改服务器的配置文件,设置URIEEncoding编码方式。
5、简述将Eclipse默认的编码方案改为UTF-8的步骤。
在Eclipse中选择Window|Preferences命令,打开Preferences对话框。在左侧窗口中依次展开General和Content Types节点;
然后在右侧上方的窗口中,展开Text节点,在该节点下面找到JSP选项,此时下方的窗口就会出现各种JSP文件的列表。选择*.jsp,然后设置Default encoding选项为UTF-8,单击Update更新设置;
单击OK按钮,关闭Preferences对话框,然后重新启动Eclipse,中文就可以正常显示了。
6、如何使新建的JSP文件能够在page指令中自动生成“UTF=8”编码方式?
在window----->prefencese------->Myeclipse------->Files and Edit--------->JSP-------Encoding 选择UTF-8即可
在window----->prefencese-------> MyEclipse设置工程的编码格式看图示这样我们团队的工程编码格式就可以统一起来了;利于合作和修改套用
在页面里面显示搜索JSP然后在Encoding 选择UTF-8即可
然后在Eclipse里面新建一个javaWEb工程,里面随便的新增一个jsp页面就是这样的效果,自动的生产utf-8格式的。
8.Servlet的生命周期:由部署Servlet的容器来控制,其过程包括:Servlet如何加载、实例化、初始化,如何处理来自客户端的请求,以及何时销毁等。
在servlet的生命周期中,Servlet容器完成Servlet类的加载并实例化Servlet对象,然后通过如下3个方法完成生命周期中的三个阶段:
Init()方法:负责Servlet的初始化工作,该方法由Servlet容器调用完成。
Service()方法:处理客户端请求,并返回响应结果。
Destroy()方法:在servlet容器卸载servlet之前被调用,释放占用的系统资源。
9. Servlet的配置:
这里主要有两大块<servlet>配置和<servlet-mapping>映射。
其中<servlet>中的<servlet-name>是为此配置在.xml文件中起的一个唯一名称,此文件中其他配置不可与之同名。同时在<servlet-mapping>中的<servlet-name>必须和此名称一致,因为是同一个servlet配置。
<servlet-Mapping>是映射信息,它也有一个<servlet-name>,里面的名字是对应的Servlet名,也就是我们上面配置的Servlet名字。
注意:这里的映射路径一定不是丢掉/,否则就会出错了,一定要写成/servlet,不能是servlet
<servlet> <servlet-name>LoginServlet<rvlet-name>#指定一个名称 <servlet-class>pkg1.LoginServlet<rvlet-class>指定这个类(完整的包名和类名) <rvlet> <servlet-mapping> <servlet-name>LoginServlet<rvlet-name> <url-pattern>/LoginServlet/url-pattern> <rvlet-mapping>
10.Servlet页面跳转方式:
页面重定向调用sendRedirect()方法,实际上是告诉浏览器Servlet2的所在位置,让浏览器重新方位Servlet2,调用sendRedirect()方法,会在响应中设置Location响应报头,这个过程对用户来说是透明的,浏览器会自动完成新的访问。
请求转发调用forward()方法,对于浏览器来说是透明的,浏览器并不知道为其服务的Servlet已经换成了servlet2了,他只知道发出了一个请求,获得了一个响应。浏览器的地址栏显示的url始终不会发生变化。
11.创建过滤器:必须实现javax.servlet.Filter接口,该接口定义了3个主要方法:
Init():用于初始化过滤器,它可以访问过滤器的配置、初始化参数和ServletContent,正如Servlet的init()方法一样。
doFilter():用于进行过滤操作,它提供了对ServletRequest、ServletResponse和FilterChain对象的访问。
destroy():用于销毁过滤器。
12.<url-pattern>/*<url-pattern>过滤所有的文件 过滤某个页面:
13.使用监听器:
监听器是Servlet2.3规范中和过滤器一起引入的另一项功能。
Servlet监听器用于监听一些重要事情的发生;
监听器对象可以在事件发生前或发生后做一些必要的处理。
根据监听对象的不同,Servlet2.4规范Servlet监听器划分为以下3中:
ServletContent事件监听器:用于监听应用程序环境对象;
HttpSession事件监听器:用于监听用户会话对象;
ServletRequest事件监听器:用于监听请求消息对象。
第六章
1.常有SQL语句: (1)DDL(数据定义语言)主要包括:CREATE、ALTER、DROP语句,通常用来创建、修改和删除数据库或数据表,也可以用来为表创建或删除索引。 CREATEDATABASE用于创建数据库; ALTERDATABASE用于修改数据库,可以修改数据库的属性信息; DROPDATABASE用于删除指定的数据库; CREATETABLE语句用于创建数据库中的表,需要指定表中字段的名称和数据类型。 (2)DML(数据操纵语言)包括:INSERT、UPDATE和DELETE语句,分布用于向表中添加记录、修改表中的数据和删除表中的数据。 INSERT语句:INSERT INTO<表名>VALUES(值1,值2,….) UPDATE语句:UPDATE <表名>SET 列名=新值WHERE列名=某值 DELETE语句:DELETE FROM<表名>WHERE 列名=值 (3)DQL数据库查询是数据库的核心操作。SQL中的SELECT语句用于数据库的查询。
2.JDBC访问数据库的主要步骤如下: (1)与数据库建立连接; (2)向数据库发送SQL语句; (3)处理发送的SQL语句; (4)将处理结果返回。
3.常见的JDBC组件: JDBC API提供了以下接口和类: Driver Manager:这个类是JDBC的管理层,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。 Driver:此接口与数据库服务器的通信,通常由数据库厂商实现该接口。 Connection:此接口代表数据库连接。 Statement:该接口代表SQL语句对象。可以向数据库发送任何SQL语句。 ResultSet:它封装了查询返回的结果集对象。 SQLException:这个类处理发生在数据库操作过程的任何错误。
4.获取JDBC方法:Class.forName(Driver)
5.获取JDBC链接方法:conn=DriverManager.getConnection(dburl,user,password)
6.执行各种SQL语句:有3种Statement对象,它们都作为在给定连接上执行SQL语句的包容器 (1)Statement:Statement对象用于执行不带参数的简单SQL语句; (2)PreparedStatement:Statement的子接口类型,PreparedStatement对象用于执行带或不带IN参数的预编译SQL语句;