springmvc怎么将上传本地文件到文件服务器

springmvc怎么将上传本地文件到文件服务器,第1张

web文件上传采用post的方式,与post提交表单不同的是,上传文件需要设置form的enctype属性为multipart/form-data.由于上传的文件会比较大,因此需要设置该参数指定浏览器使用二进制上传。如果不设置,enctype属性默认为application/x-www-form-urlencoded,使用浏览器将使用ascii向服务器发送数据,导致发送文件失败。

上传文件要使用文件域(

,并把form的enctype设置为multipart/form-data.

业务需求:数据库中的用户名密码明文存储在配置文件中,不是十分安全。所以将数据库中的用户名密码使用AES对称加密放入配置文件中,达到加密效果。同时也不想使用tomcat等中间件等太繁重,就使用了spring boot 轻量级框架。个人比较菜,轻喷。

关于如何搭建spring boot项目其他的人说的很详细 参考初识Spring Boot框架

入口类代码

@Controller

@SpringBootApplication

@EnableAutoConfiguration

public class Aesdemo1Application {

    public static void main(String[] args) {

        SpringApplication.run(Aesdemo1Application.class, args)

    }

}

运行时只要运行main方法 或者打包后java -jar 即可(写成.bat文件 点击运行方便简单)

@Controller

public class GetKeyController {

    @GetMapping("/getkey")

            public String greetingForm(Model model) {

            model.addAttribute("passwordBean", new PasswordBean())            return "index"

    }    

    @PostMapping("/getkey")

        public String greetingSubmit(@ModelAttribute PasswordBean passwordBean) {

        String s1 = AESUtil.encrypt(passwordBean.getPassword(), passwordBean.getVar1())

        passwordBean.setVar2(s1)        

        return "result"

    }

}

启动后有这里还有一个控制器类

浏览器地址输入 http://localhost:8080/getkey 即可跳转到greetingForm 方法,赋入PasswordBean属性后 跳转到index.html

PasswordBean 是自己定义的bean类 里面有password var1 var2 3个属性

index.html代码

<!DOCTYPE html>

<html lang="en" xmlns:th="http://www.thymeleaf.org">

<head>

    <meta charset="UTF-8"/>

    <title>Title</title>

</head>

<body>

<form action="#" th:action="@{/getkey}" th:object="${passwordBean}" method="post">

    <p>密码: <input type="text" th:field="*{password}" /></p>

    <p>加密字符: <input type="text" th:field="*{var1}" /></p>

    <p><input type="submit" value="Submit" /> 

    <input type="reset" value="Reset" /></p>

    </form>

    </body>

    </html>

注意使用了thymeleaf框架 所以必须引入

输入要加密的和盐即可获得通过post方法到result即可获得加密后字符串

<!DOCTYPE html>

<html lang="en" xmlns:th="http://www.thymeleaf.org">

<head>

    <meta charset="UTF-8"/>

    <title>Title</title>

</head>

<body>

<h1>Result</h1>

<p th:text="'密码: ' + ${passwordBean.password}" />

<p th:text="'加密字符: ' + ${passwordBean.var1}" />

<p th:text="'加密后字符: ' + ${passwordBean.var2}" />

<a href="/getkey">Submit another message</a>

</body>

</html>


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/425541.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-26
下一篇2023-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存