javaWeb文件上传

1.文件上传的应用场景:提交作业    上传头像       提交简历(上传附件)    上传商品,图书图片

 2.文件上传的前台如何编写以及注意事项:
 1.肯定需要用到表单
            2.文件上传的那一栏需要提供   input的type=file的组件,同样需要加name给后台获取
            3.回顾form表单的三大属性:
                    A.action:表单的提交路径
                    B.method:表单的提交方式,2大默认值,一般都是post,很少使用get
                          get/post的区别:get不安全会把数据暴露在URL地址上,可以携带的数据非常少只有几KB,速度较快
                          post安全不会把数据暴露在URL地址上,可以携带的数据非常多,速度较慢

                   C.enctype:表单的类型  三大默认值:
                            a.普通表单:application/x-www-form-urlencoded  默认就是
                            b.功能表单:multipart/form-data 普通表单的升级版,可以用来实现文件上传
                            c.功能表单:text/plain  普通表单的升级版,可以用来实现大文本表单提交

 4.form表单属性需要注意的是:1.method必须为post   2.enctype必须为multipart/form-data

 3.文件上传的后台如何编写以及注意事项:
 1.肯定需要用到Servlet  (Servlet怎么写依然怎么写)
 2.在类名的上面在加一个额外的注解:@MultipartConfig 表示该Servlet支持处理文件上传
 3.需要接受文件  通过req.getPart("前台的文件的name值");
                  普通数据通过req.getParameter("前台的组件的name值")
                  文件类型数据通过req.getPart("xxx");
4.获取文件的相关信息
                                 通过第三步的Part part = req.getPart("xxx");
                                 来获取相关信息
                                 System.out.println(part.getContentType());//获取文件的类型
                                 System.out.println(part.getSize());//获取文件的大小 单位是字节
                                 System.out.println(part.getSubmittedFileName());//获取文件名

保存用户上传的文件
 开始将用户上传的文件保存在本地服务器(本地的一个路径)
        声明一个文件的保存路径
        组装一下  需要将路径和文件名进行拼接
        String path = "D:\\uploadTest\\" + part.getSubmittedFileName();
        将part对象保存到path路径中 part.write(path);


分页查询
不会见(goods_system)

当一个页面数据量很大的时候 肯定不宜将所有数据放在一个页面里面。
此时就需要用到分页查询。

分页查询的基本思想:
    假设有351条数据,每页显示5条数据。
    需要得到哪些有价值的信息:
1.一共有多少页      --->   需要知道总条数(sql查询)
        总页 ==> 总条数%每页显示的条数==0? 总条数/每页显示的条数 : 总条数/每页显示的条数+1
        总页 ==>  ceil(总条数/每页显示的条数.0)  注意强行让其进行double运行。

2.第几页应该显示哪些数据
        分页查询的sql语法:
            select * from 表名  limit  a,b ;
            a表示从第几条开始  b表示每页显示几条,一般是固定值。

            -- 第一页
            select * from goods  limit  0,10 ;

            -- 第二页
            select * from goods  limit  10,10 ;

            -- 第三页
            select * from goods  limit  20,10 ;

            总结:a = (n-1) * b

多表查询模糊查询
?传参符 会将参数 自动的补上引号,然后再拼接到sql语句中,所以以上写法是错误的。 因为模糊查询的语法 本身就带有引号 而?也会补上引号 会发生冲突,当你 pre.setString(1,keys); 都会报错

总结: 以后用到模糊查询 统一使用 concat语法 语法如下

Connection conn = JDBCUtil.getConn();
        try {
            PreparedStatement pre = conn.prepareStatement(sql);
            pre.setString(1,keys);
            pre.setString(2,keys);
            pre.setString(3,keys);
            ResultSet rs = pre.executeQuery();
            while (rs.next()){
                Composition  c = new Composition();
                c.setComposition_id(rs.getInt(1));
                c.setComposition_name(rs.getString(2));
                c.setComposition_brief(rs.getString(3));
                Competitor c1 = new Competitor();
                c1.setAuthor_id(rs.getInt(4));
                c1.setAuthor_name(rs.getString(5));
                c1.setAuthor_phone(rs.getString(6));
                c1.setAuthor_school(rs.getString(7));
                c.setCtor(c1);
                list.add(c);
            }
            return list;
        } catch (SQLException throwables) {
            System.out.println("查询作文失败" + throwables);
            return null;
        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/223260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UnicodeUtil.java

计算精度问题带根号√ √ UNICODE字符表 package util;import java.util.regex.Matcher; import java.util.regex.Pattern;/*** radical* 根号√运算问题 Unicode * * author ZengWenFeng* email 117791303qq.com* date 2015.04.07*/ public class UnicodeUtil {/*** 字…

ShardingSphere数据分片之读写分离

1、概述 读写分离是一种常见的数据库架构,它将数据库分为主从库,一个主库(Master)用于写数据,多个从库(Slave)进行轮询读取数据的过程。主从库之间通过某种通讯机制进行数据的同步。 所以&…

React Native android环境搭建,使用夜神模拟器进行开发(适用于0.73+版本)

前言 本文基于:“react-native” : “^0.73.0” 1.安装 Node Node.js,下载时选择 > 18 版本 2.下载并安装 JDK Java SE Development Kit (JDK),下载时选择 17 版本 安装 验证是否安装成功 打开命令提示符输入 javac -version 回车 3.…

re:Invent 产品体验与感受分享:Amazon ElastiCache Serverless 缓存的即时扩展

授权说明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道)。 文章目录 前言产品介绍产品使用步骤1.创建缓存服务2.安全组开放访问权限…

【Python】解读a+=b 和 a=a+b是否一样?看完恍然大悟!

文章目录 前言一、可变对象和不可变对象总结 前言 在Python中,对于可变和不可变对象的行为差异是一个重要概念,特别是在涉及到和操作时。理解这一点对于编写高效且无误的代码至关重要。 一、可变对象和不可变对象 首先,让我们谈谈可变和不可…

【INTEL(ALTERA)】 quartus使用Nios® V 处理器系统仿真失败,没有打印输出消息

说明 在 Synopsys* VCS* 和 VCS* MX 仿真器中模拟由以下位置生成的 Nios V 处理器系统时,可能会出现该问题: 英特尔 Quartus Prime Pro Edition 软件版本 23.1 至 23.4,或 英特尔 Quartus Prime Standard Edition 软件版本 23.1std 这是由…

位运算技巧

获取某个10进制数值的二进制最高位 public class Main {public static void main(String[] args) {// 调用 highBit 函数,传入参数 67int result highBit(67);// 输出结果的二进制表示System.out.println(Integer.toBinaryString(result)); // 输出 1000000}/***…

打工人副业变现秘籍,某多/某手变现底层引擎-Stable Diffusion替换背景

在Stable Diffusion软件中,使用ControlNet+模型实现固定物体批量替换背景 出图的流程。 一、准备好图片 1.你需要准备好一些白底图或者透明底图用于训练模型。 2.你需要准备同样角度的其他背景色底图用于ControlNet勾线 3.注意检查你的图片尺寸,是否为1:1,…

离散型随机变量的分布律(也称概率质量函数:probability mass function, PMF)

设是一个离散型随机变量,可能的取值为,取各个值的概率记为: (1) 其中 并且, 公式(1)就称为离散型随机变量的分布律,也称概率质量函数:probability ma…

svn使用步骤

服务器端主要用来创建仓库,然后供客户端去访问与下载。 客户端: 图形化界面的使用:这里使用的是tortoise工具 1.创建一个文件夹作为自己的本地仓库目录 2.鼠标右键文件夹,在菜单中点击SVN checkout 3.找个图 这一步骤相当于git中…

最新版xposed编写教程

环境: andriod studio2023.1.1 jdk17 gradle8.2 流程: 1.新建项目,选empty views activity即可(其他也可) 2.语言选java,其他路径名称等暗战自己需要随便改,然后点击finish 3.修改AndroidMan…

调用接口 Promise.all的简单使用方式

created() {const requests [axios.get(/api/data1),axios.get(/api/data2),axios.get(/api/data3)];Promise.all(requests).then(responses > {// 处理响应数据const data1 responses[0].data;const data2 responses[1].data;const data3 responses[2].data;// ...}).c…

茶室茶楼计时计费软件,软件中的商品管理计时操作教程

一、前言 茶室在营业的时候,不但需要计时间,同时还需要管理商品入库出库库存等管理。这就需要一款实用的操作简单的管理软件。 下面以 佳易王茶社计时计费软件V18.0为例说明,其他版本可以参考本教程。 软件下载或技术支持可以点击最下方官…

【Python基础】线程

文章目录 [toc]线程与进程的区别与联系同步任务示例 并发任务示例 线程方法thread_object.start()thread_object.join()thread_object.setDaemon()thread_object.current_thread() 线程与进程的区别与联系 线程是可以被计算机CPU调度的最小单元进程是计算机分配资源&#xff0…

和利时DCS数据采集

在工业自动化领域,和利时DCS(分布式控制系统)被广泛应用,它对于工厂的生产过程和设备管理起到了重要的作用。然而,对于和利时DCS数据的采集,很多工厂面临着一些难点。本文将介绍和利时DCS的概述&#xff0c…

C语言—每日选择题—Day42

第一题 1. 下面程序输出的结果是&#xff08;&#xff09; #include <stdio.h> int main () {int x;x printf("I See, Sea in C");printf("x%d" , x); } A&#xff1a;2 B&#xff1a;随机值 C&#xff1a;都不是 D&#xff1a;15 答案及解析 D p…

智慧港口解决方案:PPT全文69页,附下载

关键词&#xff1a;智慧港口解决方案&#xff0c;数字化港口&#xff0c;智慧港口发展现状与展望&#xff0c;智慧码头&#xff0c;智慧港口发展趋势 一、智慧港口建设背景 随着数字经济、智慧交通发展&#xff0c;强调“要大力发展智慧交通和智慧物流”“努力打造世界一流的…

LAMP与LNMP架构

目录 一、概述 二、各组件的主要作用 一. 编译安装Apache httpd服务 二. 编译安装mysqld 服务 三. 编译安装PHP 解析环境 四. 安装论坛 LNMP架构 一、编译安装Nginx 二、编译安装MySQL服务 三、安装配置php文件 四、部署论坛 扩展 fpm参数优化 一、概述 LAMP架构是…

TCP/IP详解——UDP 协议

文章目录 1. UDP1.1 UDP 头部1.2 UDP 校验和1.3 UDP 传输过程1.4 UDP-Lite1.5 最大 UDP 数据报长度1.6 UDP 输入队列 1. UDP UDP&#xff1a;用户数据报协议&#xff08;User Datagram Protocol&#xff09;面向无连接的&#xff0c;也就是无需建立连接&#xff0c;传输不可靠。…

成绩分析。

成绩分析 题目描述 小蓝给学生们组织了一场考试&#xff0c;卷面总分为 100分&#xff0c;每个学生的得分都是一个0到100的整数。 请计算这次考试的最高分、最低分和平均分 输入描述 输入的第一行包含一个整数n(1n104)&#xff0c;表示考试人数。 接下来n行&#xff0c;每行包含…