当前位置: 首页 > article >正文

后端-项目创建与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();
			}

最后运行


http://www.kler.cn/a/315998.html

相关文章:

  • sqlsever 分布式存储查询
  • Unity安装后点击登录没反应
  • python解析网页上的json数据落地到EXCEL
  • 服务器显卡和桌面pc显卡有什么不同
  • three.js 杂记
  • 每日一练:二分查找-搜索插入位置
  • Request 跨线程访问问题
  • 屋顶气膜网球馆:智慧城市资源利用之道—轻空间
  • STM32 的 SDIO 接口(基于STM32F429HAL库)
  • 考题抄错会做也白搭——模板方法模式
  • h5dump用法详解
  • 乐观锁、悲观锁及死锁
  • 【机器学习】---神经架构搜索(NAS)
  • 【tomcat】tomcat学习笔记
  • 垃圾邮件检测_TF-IDF分析,聚类分析与朴素贝叶斯
  • spring springboot 日志框架
  • 光伏行业的酸洗与深度除氟
  • 零信任安全架构--分段网络
  • 实战OpenCV之直方图
  • ESP32-WROOM-32 [ESP连接路由器+TCP Client 透传 + TCP Server数据发送]
  • 网络安全:构建数字世界的坚实防线
  • ps学习。
  • 经典大语言模型解读(3):参数量更大、泛化性能更强的生成式模型GPT-2
  • 低代码开发平台系统架构概述
  • js进阶——函数作用域和块作用域
  • 卷积神经网络(CNN):深度学习中的视觉奇迹