后端-项目创建与sql
1.创建文件
1.在webcontent下创建.html文件
2. 在java resources下创建包,右键包创建servlet服务生.(要是创建普通的类,里面的注解里的东西不能重复)
注意:class的名字要和文件名一样,注解里的servlet是独一无二的。
java里的打印快捷键:
sout Alt键+/
打印在下面的控制台里呈现或者直接在浏览器run
注:不带后缀的index是服务生的名字
$.ajax({
url:"index",//请求路径
type:"get",//请求方式
data:{
account:"admin",
password:123456
},//参数域
success:function(value){//请求成功
console.log(value)
},
error:function(){//请求失败
alert("出错啦")
}
})
// 接收参数
String acc=request.getParameter("account");
tips:调用getParameter方法接收参数(根据前面的关键字接收)
用equals()判断字符串是否相等
if(acc.equals("admin")&&pass.equals("123456")) {
System.out.println("登陆成功");
}
2. 解决中文乱码问题
// 解决中文乱码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String res;
if(acc.equals("admin")&&pass.equals("123456")) {
System.out.println("登陆成功");
res="登陆成功";
}else {
System.out.println("登录失败");
res="登录失败";
}
// 后端给前端返回数据
response.getWriter().write(res);
给反馈的信息
3. 返回大量的学生信息
3.1. 放到JSON格式(交换信息的语法)(对象和数组)
tips:需要转义
if(acc.equals("admin")&&pass.equals("123456")) {
System.out.println("登陆成功");
res="{\"hello\":\"home\",\"name\":\"lojarro\",\"station\":\"handan\"}";
}
response是返回数据
// 设置后端给前端返回的数据为json格式
response.setContentType("text/json;charset=utf-8");
// 设置成这样,必须有一个json格式 的数据
顺便把编码也设置好了
或者使用变量名
var a="admin"
var b="123456"
$.ajax({
url:"index",//请求路径
type:"get",//请求方式
data:{
account:a,
password:b
},//参数域
success:function(value){//请求成功
console.log(value)
},
error:function(){//请求失败
alert("出错啦")
}
})
or
var account="admin"
var password="123456"
data:{
account,
password
},
get和post的区别
1.传参形式不同
get传参
url:"index?account=admin&password=123456",//请求路径
或者
url:"index?account="+account+"&password="+password,
post传参
data:{
account,
password
},//参数域
2.地址
只要能写地址的地方都可以发出get请求 浏览器地址栏a location.href='' -->查找
<a href="index?account=admin&password=123456">点击</a>
post 通过jquery+ ajax form表单 ---> 修改,添加,删除
3.2. 自己操作数据库
建个数据库
MySQL
Navicat Premium
1.创建连接
2. 双击打开
3.新建数据库
4.字符集和排序规则
5.创建表
6.查询
选中一条语句然后执行
select name,age from student
基础的查询
select * from student where id=2
插入
insert into student(name,age,sex) values("admin",24,"女")
插入会返回受影响的行数
更新
update student set name="lili" ,sex="男",age=24 where id=5
删除
delete from student where id = 6
2.创建一个普通的java类
JDBC怎么去操作数据库
我的是5. 的数据库,所以使用5. 的jar包
public static void main(String[] args) {
String sql="select * from student";
search(sql);
}
// 查找
public static void search(String sql) {
调sql
1. 加载mysql驱动
固定语句(5. 版本)
Class.forName("com.mysql.jdbc.Driver");
用户信息和url
String url="jdbc:mysql://localhost:3306/lojarro";
String username="root";
String password="2020";
2.try-catch
try {
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e) {
e.printStackTrace();
}
3.驱动管理类调用方法进行连接,得到连接对象
Connection connection=(Connection) DriverManager.getConnection(url,username,password);
后面的是父类,前面的是子类--->强制类型转换,转成子类
子类 对象名=(子类)父亲
或者直接最下面的
catch(Exception e) {
e.printStackTrace();
}
4. 创建执行sql的对象
强制类型转换
Statement statement=(Statement) connection.createStatement();
5. 执行sql语句
查找执行的语句,接收返回值
ResultSet resultSet= ((java.sql.Statement) statement).executeQuery(sql);
6.处理数据
打印空格隔开
while(resultSet.next()) {
String id=resultSet.getString("id");
String name=resultSet.getString("name");
String age=resultSet.getString("age");
String sex=resultSet.getString("sex");
System.out.println(id+" "+name+" "+age+" "+sex);
}
7.释放资源
if(resultSet!=null) {
resultSet.close();
}
if(statement!=null) {
statement.close();
}
if(connection!=null) {
connection.close();
}
最后运行