java学习整理20170801

来源:互联网 发布:淘宝主图制作技巧 编辑:程序博客网 时间:2024/05/18 03:49
26.网络通信
TCP协议:传输控制协议(传输层);IP协议:因特网协议(网络层)
URL:Uniform Resource Locator统一资源定位符,唯一表示一个网页
URL类:Java访问网络资源的接口
public URL(String url):通过网页地址url构造一个URL对象
public URL(URL context,String url):通过url和相对url指定文件构造一个URL对象;URL url=new URL("index.jsp");
public URL(String protocol,String host,String FileName):URL url=new URL("http","www.baidu.com","download/index.html");
public URL(String protocol,String host,int port,String FileName):URL url=new URL("http","www.baidu.com",8080,"download/index.html");
构造异常类:MalformedURLException
URL对象属性获取:
String getProtocol():URL协议名
String getHost():URL的主机名
int getPort():URL端口
String getFile():URL的文件名
String getRef():URL在文件中的相对路径
String getQuery():URL路径
String getPath():URL路径
String getAuthority():URL的权限信息
String getUserInfo():URL锚
Socket/ServerSocket编程
Socket/ServerSocket创建:Java.net包中,Socket类表示客户或者服务器Socket连接的两端
多客户端时,服务器端会启动一个专门的服务线程ServerThread来相应客户端的请求
27.HTML/XML
HTML标记语言:<></>标签;注释:<---->
常用标签/属性:
<h1~h5>:标题大小
color:颜色;size:字号; face:字体
<li>:设置项目;<hr>:水平线;<p>:段落标签
<table>/<td>:表格标签;
<form>:表单;id/name/method/action; <input>
HTML常用工具:DW(DreamWeaver),W3C,CSS
XML(eXtensible Markup Language):可扩展标记语言;用于存储数据(HTML用于表现数据)
XML格式:第一行XML版本声明;标签成对出现;大小写敏感;用户自行定义标签,必须有结束标签
28.JSP(Java Server Page)
含有Java代码的HTML;
JSP的运行环境时搭建在Java的运行基础之上的;
Tomcat:conf文件夹下可以进行相关配置(重要:乱码,用户,端口);eclipse中的eclipse.ini文件可以进行启动项的配置
eclipse和系统浏览其同时访问tomcat服务器需要对服务器进行配置:新建服务器后双击,在Server Locations中选择Use Tomcat Installation
(Takes control of Tomcat installation),部署路径最好改为webapps
An incompatible version 1.1.14 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.17
apr版本有更新,期望用新版本,下载符合要求的APR的native.dll放入相应JRE的bin目录下
JSP构成元素:
HTML标签/指令/声明/程序代码/表达式
指令:设置与整个JSP页面相关的属性;<%@ 指令名 属性="值">;
page指令:定义页面脚本语言,编码方式,导入的Java包等
<%......%>:将HTML代码与Java代码隔开<%Java代码%>
<!--显示注释-->/<%!--隐藏注释-->
include指令:将不同文件插入到JSP网页中(文本文件,HTML文件,JSP文件);<%@include file="相对路径"%>
JSP动作标识:
param:给HTML和JSP文件传递参数,与forward,include,和plugin动作结合使用<jis:param name="fname" value="fvalue"/>
forward:将请求信息转发到另一个页面,有一个page属性<jsp:forward page="url"/>;传递参数时:<jsp:forward page="url"><jis:param name="fname" value="fvalue"/></jsp:forward>
include:包含一个或多个JSP页面或是HTml文件<jsp:include page="file" flush="true">;flush刷新页面
plugin:加载Java Applet或JavaBean组件,<jsp:plugin code="Test.class" codebase="Test.java" type="applet" ...></jsp:plugin>
useBean:转载JavaBean;<jsp:useBean id="className"></jsp:useBean>
JSP内置对象:不需要实例化,可以直接使用
request对象:封装用户所提交的请求;request.setCharacterEncoding("UTF-8")/request.getParameter("name");
response对象:封装服务器返回的信息;response.getCharacterEncoding()/sendRedirect(String url)
session对象:客户端与服务器端的一次会话,它是HttpSession类的实例
void setAttribute(String Key,Object object):类似于散列表,添加到session里的对象同一个索引关键字绑定
Object getAttribute(String Key):获取关键字Key对应的session里的对象,由于任何对象都可以添加到session里,所以可能会发生强制类型转换
out对象:JspWriter类的实例,是向客户端输出内容常用的对象;out.println(String string)
application对象:实现用户间数据共享,开始于服务器的启动,结束语服务器的关闭,是ServletContext类的实例
29.JavaBean
JavaBean是一种Java语言写成的可重用的组件,为了写成JavaBean,类必须是具体的和公共的,其且有无参构造器,复用性高,容易维护
JavaBean通过JVM执行,可以分为可视化(有GUI)和非可视化(无GUI),在JSP程序中常用来封装事物逻辑,数据库操作等,实现业务逻辑于前台的分离,使系统更健壮,灵活
JavaBean可以很好的实现逻辑的封装,是程序更易维护
JavaBean模板
public class className{//必须是public类
属性;
默认构造器;//必须有无参数构造器
setter/getter;
其他函数;
}
JavaBean的属性:组件内部形态的抽象表示(4大类)
simple:简单的;一般数据类型的变量(String strName)
indexed:索引的;表示一个数组值(int[] a={1,2,3},某个元素的设置setA(int index,int x){a[index]=x})
bound:绑定的;当该种属性的值发生变化时,要通知其他对象,只改变时这种属性就激活一个PropertyChange事件按(也是对象),它封装了属性名,改变前后的值,它会被传递到其他的Bean,其他Bean自行处理
constrainted:约束的,当该种属性的值发生变化时,与该属性相关的其他JavaBean可以否决属性值的改变
JavaBean的作用域:使用<jsp:usebean>中的scope属性设置它在JSP中的声明周期和使用范围
JSP网页的作用范围:page/request/session/application
page:<jsp:useBean id="bean" class="com.CountBean" scope="page"/>;页面域的对象只对于它所在的页面是可访问的
request:<jsp:useBean id="bean" class="com.CountBean" scope="request"/>;请求域的对象在相应请求的生命周期里有效
session:<jsp:useBean id="bean" class="com.CountBean" scope="session"/>;会话域对象对于参与某个客户端会话的所有应用组件是有效的
applicatio:<jsp:useBean id="bean" class="com.CountBean" scope="application"/>;应用域的对象在应用的整个生命周期内都是有效的
JavaBean的移除:使用完毕后,JSP容器来释放;4大作用域.removeAttribute(String name)
JavaBean可以将属性与方法何在一起成为一个单元,这个单元可以直接使用,可以被继承,常运用于可视化编程中
30.Servlet
a)Servlet是一种独立于平台和协议的Java应用程序,可以生成动态的web页面,Servlet由web服务器加载,并在web服务器内执行
b)当客户机发送请求到服务器是,服务器将请求信息发送给Servlet,并让Servlet建立起服务器返回给客户机的相应
c)特点
高效:每个请求由一个轻量级的Java线程处理
功能强大:可以直接与Web服务器交互,能否在各个程序之间实现数据共享
d)生命周期:开始于装入Web服务器的内存时,并在终止或是重装入Servlet时结束
初始化:配置启动项装入或是客户首次请求时装入Servlet,服务器创建一个Sevlet实例并调用init()方法,初始化时,Servlet初始化参数被传递给Servlet配置对象
请求处理:对于到达的请求,服务器创建一个相应的请求对象和响应对象,并调用service()方法传递这两个对象,处理请求并将响应对象传回个给客户,处理可以调用其他方法(doGet()/doPost())
终止:当服务器不在需要Servlet时,或是重新装入Servlet的新实例时,服务器调用Servlet的destroy()方法终止本Servlet
e)Servlet常用类与接口
配置接口:java.servlet.ServletConfig接口
编程接口:javax.servlet包和接口
Servlet初始化:public void init(ServletConfig arg0) throws servletException
Servlet业务实现:public void service(ServletRequest arg0,ServletResponse arg) throws servletException.IOException
Servlet销毁:public void destroy()
Servlet和Web容器进行通信:public servletconfig getServletConfig()
Servlet接本信息:public servlet getServletInfo()
f)HttpServlet类
针对HTTP协议对GenericServlet类的扩展,它是一个抽象类
g)HttpServletRequest/HttpServletresponse类用来请求与响应
h)web.xml配置Servlet:
<servlet>
<servlet-name>ServletName</servlet-name>
<servlet-class>ServletPath</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletName</servlet-name>
<url-pattern>RequestURL</url-pattern>
</servlet-mapping>
i)会话:让客户端与HTTP两者之间的关联通过HttpSession接口实现
public void setAttribute(String name,Object value);将value对象以name名称绑定到会话
public Object getAttribute(String name);取得name名称对应的会话里的对象,如果没有,返回null
j)Servlet上下文:服务器上的每个web应用有一个背景环境对象,成为上下文,web中的所有资源包括Servlet,JSP,JavaBean,和静态HTML等
共享这个上下文,上下文提供了同一个web应用内不同资源间共享信息的场所
功能:
访问web应用程序静态资源文件:getResource()/getResourceAsStream()
通过key获取或者设置上下问的Java对象:getAttribute()/setAttribute()
k)Servlet过滤器:实现Filter类
特性:
声明式:通过web.xml来声明编写好的过滤器
动态性:过滤器在运行的时候会动态的被Servlet容器调用
模块化与可移植:过滤器的封装和重用
透明:用户按需编写特定的用户自己的过滤器
应用:
加载:过滤器手机请求信息
安全:验证用户
会话处理:使得Servlet与JSP分开
l)封装请求:doGet()/dePost()
doGet:响应浏览器使用get方法进行的请求,浏览器地址栏会显示传递的参数,不太安全

doPost:响应浏览器使用post方法进行的请求,适合发送大量数据

31.数据库

a)分类:层次式数据库;网络式数据库;关系式数据库;不同的数据库是按不同的数据结构来联系和组织的
b)特点:数据共享;减少数据冗余(同文件系统对比);数据独立性(相对程序而言);数据的一致性和可维护性
c)数据库软件:SQL Server;MySQL;Oracle
d)JDBC(Java DataBase Connetivity,Java数据库连接):Java到数据库的驱动,用于执行SQL语句的JAVA API;(ODBC开放数据库连接)
e)CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended
由于MySQL版本过高创建连接的时候会出现该警告;MySQL在高版本需要指明是否进行SSL连接(加密连接)。:在mysql连接上加上&useSSL=true;final String url="jdbc:mysql://localhost:3306/Student?useSSL=true";
f)Java连:
加载驱动:Class.forName(driver);
建立连接:Connection connection=DriverManager.getConnection(url, user, password);
创建相关变量:
final String driver="com.mysql.jdbc.Driver";
final String url="jdbc:mysql://localhost:3306/Student?useSSL=true";
final String user="root";
final String password="root";
g)MySQL创建一个数据库,一张表,插入数据:
create database students;
use students;
create table student( 
 id int primary key AUTO_INCREMENT,-- 这种注释"--"后面有空格
 name char(20), 
 age int(3), 
 sex char(2) 
);
insert into student(name,age,sex) values('张三',24,'男');
h)查看所有表:show tables;/删除表: drop table_name;/删除数据库:drop database database_name;
i)显示表的结构:desc table_name;/删除行:delete from table_name where condition;/更新表:update table_name set column_name=new_value where column_name=old_value;
j)order by:默认升序排列,若要降序排列使用desc关键字  order by column_name desc;
k)JDBC常用接口类
DriverManager类:
Connection getConnection(String url,String name,String password)
Connection接口:
Statement createStatement()//没有参数的SQL语句
PreparedStatement prepareStatement(String sql)//多次执行相同的SQL语句
Statement接口:
ResultSet executeQuery(String sql)
void executeUpdate(String sql)
prepareStatement接口:
ResultSet executeQuery()
void executeUpdate()
ResultSet接口:表示数据库结果集的数据表

原创粉丝点击