文件读取第一个字符为\ufeff
问题重现1open(file,encoding='utf-8')
读取到的第一个文字是\ufeff
错误原因因为file是UTF-8 with BOM格式(即utf-8-sig),与UTF-8不同
As UTF-8 is an 8-bit encoding no BOM is required and anyU+FEFF character in the decoded Unicode string (even if it’s the firstcharacter) is treated as a ZERO WIDTH NO-BREAK SPACE.
解决方法
将文件转为UTF-8格式,但需要转换文件编码
按utf-8-sig格式打开
1open(file, encoding='utf-8-sig')
re模块error: bad character range
问题重现1re.search('[/\.- ]',s)
错误原因re模块内的集合必须按照ASCII码从小到大排序,如可以[a-z]但不能[z-a]
解决方法
char
ascii
/
37
.
46
-
45
(空格)
32
改为'[ -\./]'
servlet
依赖1234import javax.servlet.ServletException; //异常处理import javax.servlet.http.HttpServlet; //父类import javax.servlet.http.HttpServletRequest; //请求处理import javax.servlet.http.HttpServletResponse; //回复处理
异常
ServletException, IOException
类声明
所有servlet类都继承自HttpServlet,HttpServlet定义了常用的方法(service、doGet、doPost等)
语法123public class servlet类名 extends HttpServlet{ …}
JSP
JSP是一种可直接写HTML语句的servlet
程序段
使用<%...%>表示,写入Java代码,其中变量作用域为本页面
e.g.12345678<% System.out.println("Hello world!");%>输出变量值:<%=变量名%>程序段可结合HTML使用<% for(int i = 0 ; i< 10; i++){ %> Hi<br><% } %>
注释
使用HTML注释格式,会在网页源码显示
1<!--注释内容-->
使用JSP注释格式,不会显示在网页源码中
1<%--注释内容--%>
在程序段内,注释同Java
编译指令page<%@page…%>
用于配置本页的全局属性,如导入的包、语言等。一般位于页面最上方
关键字
说明
language=”java”
该jsp使用Java语言
contentType=”text/html; charset=UTF- ...
配置文件(web.xml)
12345678910111213141516<!--自动生成--><?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!--首页--> <welcome-file-list> <welcome-file>首页地 ...
JDBC执行SQL语句
名词解释
ODBC: Open Database Connectivity
JDBC: Java Database Connectivity
JDBC API: 管理数据库,用于编成
JDBC Driver API: 连接数据库,加载数据库驱动
JDBC APIDriverManager
装载驱动程序
Connection
连接数据库
常用方法
方法
说明
返回类型
createStatement()
创建查询对象
Statement
prepareStatement()
创建预编译查询对象
PreparedStatement
prepareCall(“{call 存储过程名(?, ?, ?…)}“)
每个?表示一个参数
CallableStatement
commit()
提交更改至数据库,返回执行的记录数
int
close()
关闭数据库连接
Statement
执行SQL语句
常用方法
方法
说明
返回类型
executeQuery(String SQL查询语句)
执行该SQL查询
ResultSet
executeUpda ...
数组与字符串
数组声明
声明
数组声明后不会分配内存,必须new
类型[] 数组名 //建议使用
类型 数组名[]
数组名 = new 类型[大小]
e.g.1int [] arr = new int[8];
使用
数组下标从0开始
赋值
数组名[下标]=数据
e.g.1arr[5]=8;
访问
数组名[下标]
e.g.1System.out.println(arr[5]);
初始化动态初始化
先声明,再赋值
静态初始化
声明的同时赋值
类型[] 数组名 = {数据1, 数据2, 数据3,…}
e.g.1int[] arr = {1, 5, 9, 8, 7};
二维数组
二维数组即二维表,二维数组的每一行都是一个一位数组
声明
同一维数组声明
类型[][] 数组名 = new 类型[行数][列数]
e.g.1int [][] arr = new int[5][5]
使用赋值
数组名[i][j] = 数据
e.g.1arr[3][5]=9;
初始化动态初始化
先声明,再赋值
静态初始化 ...
Hibernate常见错误
Mapping (RESOURCE) not found解决方法
解决方法
IDEA中,entity的xml应放在resources文件夹下,并将hibernate.cfg.xml中对应的mapping-resource修改
No CurrentSessionContext configured
问题重现
使用getCurrentSession时出现
解决方法
使用openSession,但会造成session打开过多
在hibernate.cfg.xml中添加配置文件
hibernate.cfg.xml1<property name="hibernate.current_session_context_class">thread</property>
Calling method ‘get’ is not valid without an active transaction
问题重现
使用getCurrentSession时出现
解决方法
hibernate要求对数据库的所有操作都必须开启事务管理
e ...
类型
数据类型基本类型
类型
占用空间(Byte)
取值范围
byte(字节型)
1
-128~127
short(短整型)
2
−2^16~2^16−1
int(整型)
4
−2^31~2^31−1
long(长整型)
8
−9.2∗10^18~9.2∗10^18
float(单精度)
4
−3.4∗10^38 ~3.4∗10^38
double(双精度)
8
−1.7∗10^308~1.7∗10^308
char(字符型)
1
0~65535
boolean(布尔型)
1或4
`true
boolean作为单个变量,占用4字节;作为数组中某个元素时,占用1字节
基本数据类型存储于栈空间,效率高,容量小
基本类型不能等于null
引用引用类型包括:类、接口、数组、枚举
对象创建于堆空间
基础类型的封装类基础类型的封装类可以=null,并包含了一些常量和常用方法
基础类型
封装类
byte
Byte
short
Short
int
Integer
long
Long
float
Float
double
Double ...
Stylus定义random函数
12random(min,max) return floor(math(0,'random')*(max-min+1)+min)