واجهت مؤخرًا مشكلة في عملية إنشاء موقع ويب باستخدام SPRING BOOT: عند التسجيل ، يحتاج المستخدم إلى تحميل صورة ملف تعريف خاص به. بعد التسجيل الناجح ، قفز إلى المركز الشخصي وعرض معلومات المستخدم في المركز الشخصي. لقد واجهت مشكلة عند عرض صورة الملف الشخصي: عند تحميل صورة الملف الشخصي ، قمت بتخزين صورة الملف الشخصي في المجلد الثابت تحت ملف المشروع ، وتخزين عنوانه في المستخدم المقابل في قاعدة البيانات ، وأضفت نشرًا ساخنًا في الفكرة ، ولكن بعد التسجيل والقفز إلى المركز الشخصي ، لا يزال لا يمكن عرض صورة الملف الشخصي. لا يمكن إلا أن يتم إطلاق المشروع في المرة القادمة التي أدخل فيها المركز الشخصي.
لقد شعرت بالقلق من هذه المشكلة لفترة طويلة ، وأخيراً حلتها على هذا النحو: قمت بإنشاء مجلد ويب جديد في الدليل الرئيسي وتكوين مساره. فيما يلي عرض صغير للحل. من السهل نسبيًا القيام به ، أرجو أن تسامحني ~~ الكود الأساسي على النحو التالي:
واجهة التسجيل:
<! doctype html> <html lang = "en" xmlns: th = "http://www.thymeleaf.org"> <head> <meta charset = "utf-8"/> <title> العنوان </head> <body> <body> <form>/zhuce "th: enctype = "multipart/form-data"> <label> الاسم </label> <input type = "text" name = "name"/> <label> كلمة المرور </label> <inport type = "password" name = "password"/> <label> تحميل الصورة </label> <input type = "file" name = "
السيطرة على النحو التالي:
package com.example.demo.control ؛ استيراد com.example.demo.dao.userrepository ؛ استيراد com.example.demo.domain.user ؛ استيراد org.springframework.beans.factory.annotation.autowired org.springframework.ui.model ؛ import org.springframework.web.bind.annotation.getMapping ؛ استيراد org.springframework.web.bind.annotation.postmapp org.springframework.web.multipart.multipartfile ؛ استيراد java.io.* ؛/*** تم إنشاؤه بحلول عام 18274 في 2017/8/9. */ @controlpublic Class Control {Autowired userrepository userrepository ؛ getMapping (value = "/Zhuce") السلسلة العامة Zhuce () {return "Zhuce" ؛ } postmapping (value = "/Zhuce") السلسلة العامة tijiao ( @requestparam (value = "name") اسم السلسلة ، @requestparam (value = "password) سلسلة كلمة مرور ، requestparam (value =" file ") ملف multipartfile ، نموذج نموذج) {مستخدم مستخدم جديد () ؛ user.setUserName (name) ؛ user.setPassword (كلمة المرور) ؛ if (! file.isempty ()) {try {bufferedOutputStream out = new BufferEdoutPutStream (fileOutputStream جديد (ملف جديد ("f: // flag cup // demo5 // src // main // webapp //"+name+". out.close () } catch (IoException e) {E.PrintStacktrace () ؛المركز الشخصي:
<! doctype html> <html lang = "en" xmlns: th = "http://www.thymeleaf.org"> <head> <meta charset = "utf-8"/> <title> العنوان </title> <bod> <p> <p> username: </p> Th: text = "$ {user.username}"> </p> <p> الصورة: </p> <img th: src = "@$ {user.username}+'تكوين مسار webapp
package com.example.demo.config ؛ استيراد org.springframework.context.annotation.configuration ؛ استيراد org.springframework.web.servlet.config.annotation.resourceHandlerRegistry ؛ تم إنشاؤها بحلول عام 18274 في 2017/8/9. */ @configurationpublic class myWebAppConfigurer يمتد webmvcconfigureradapter {Override public void addresourceHandlers (ResourceHandlerRegistry Recistry) {registry.addresourceHandler ("/src/main/webapp/**"). addresourcations ("classpath:/") ؛ super.addresourceHandlers (السجل) ؛ }}فئة كيان المستخدم المقابلة:
package com.example.demo.domain ؛ استيراد javax.persistence.entity ؛ استيراد javax.persistence.generatedvalue ؛ استيراد javax.persistence.id ؛/*** تم إنشاؤه بحلول عام 18274 في 2017/8/9. */ @intitypublic class user {idgeneratedValue private long id ؛ اسم المستخدم الخاص بالسلسلة الخاصة ؛ كلمة مرور السلسلة الخاصة ؛ سلسلة خاصة Tupian ؛ // عنوان الصورة العامة () {} public long getId () {return id ؛ } السلسلة العامة getUserName () {return username ؛ } السلسلة العامة getPassword () {return password ؛ } السلسلة العامة getTupian () {return tupian ؛ } public void setId (id long) {this.id = id ؛ } public void setusername (string username) {this.userName = username ؛ } public void setPassword (سلسلة كلمة مرور) {this.password = password ؛ } public void settupian (سلسلة tupian) {this.tupian = tupian ؛ }}واجهة لفئة كيان المستخدم:
package com.example.demo.dao ؛ استيراد com.example.demo.domain.user ؛ استيراد org.springframework.data.jpa.repository.jparepository ؛/*** تم إنشاؤه بحلول 18274 في 2017/8/9. */الواجهة العامة userrepository يمتد JParePository <مستخدم ، طويل> {}أركض أخيرًا على النحو التالي:
سجل لتحميل الصورة الرمزية:
المركز الشخصي:
ملاحظة: إذا كنت تجمع بين أمان الربيع ، فأنت بحاجة فقط إلى الحصول على معلومات من Session.spring_security_context.authentication.principal.xxx.
إرفاق عنوان هذا العرض التوضيحي الصغير الذي تم تحميله:
http://xiazai.vevb.com/201712/yuanma/demo5(vevb.com).rar
لخص
ما ورد أعلاه هو ملخص لصور تنفيذ التمهيد الربيعي وعرضها على الصفحة ومواجهة المشكلات. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!