为了账号安全,请及时绑定邮箱和手机立即绑定

请问一下springboot 怎么实现用户登录带头像的页面?

/ 猿问

请问一下springboot 怎么实现用户登录带头像的页面?

C++
波斯汪 2019-09-09 14:10:54

springboot 怎么实现用户登录带头像的页面


查看完整描述

3 回答

?
交互式爱情
  1. pom.xml


  2. .properties

    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp
    #添加数据库连接信息
    spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
    spring.datasource.username=root
    spring.datasource.password=111
    spring.datasource.driverClassName=com.mysql.jdbc.Driver
    spring.datasource.max-active=20
    spring.datasource.max-idle=8
    spring.datasource.min-idle=8
    spring.datasource.initial-size=10
    ##SPring JPA配置信息
    spring.jpa.database = MYSQL
    spring.jpa.show-sql = true
    spring.jpa.hibernate.ddl-auto = update
    spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
    spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
    spring.freemarker.charset=UTF-8

3.@SpringBootApplication
public class HelloApplication {

public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}

4.@Controller
public class HelloWorldController {
@Autowired
UserRepository   userRepository;
@RequestMapping("/hello")
public String index() {
return "hello";
}
@RequestMapping("/")
public String toIndex() {
return "index";
}
@RequestMapping("/register")
public String register(User user,@RequestParam(value="file")MultipartFile file,Model model) {

if (!file.isEmpty()) {
try {
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(new File("D:/workpace/workspace-template/template/01_spring-boot-hello/src/main/webapp/"+user.getUsername()+".jpg")));//保存图片到目录下
out.write(file.getBytes());
out.flush();
out.close();
String filename="D:/workpace/workspace-template/template/01_spring-boot-hello/src/main/webapp/"+user.getUsername()+".jpg";
user.setTupian(filename);
userRepository.save(user);//增加用户
}
catch (Exception e) {
e.printStackTrace();
return "上传失败," + e.getMessage();
}
model.addAttribute(user);
return "index2";
} else {
return "上传失败,因为文件是空的.";
}


}
}

5.@Entity(name="user3")
public class User {
@Id
@GeneratedValue
private Long id;
private String username;
private String password;
private String tupian;//图片地址
public User(){}

public Long getId() {
return id;
}

public String getUsername() {
return username;
}

public String getPassword() {
return password;
}

public String getTupian() {
return tupian;
}

public void setId(Long id) {
this.id = id;
}

public void setUsername(String username) {
this.username = username;
}

public void setPassword(String password) {
this.password = password;
}

public void setTupian(String tupian) {
this.tupian = tupian;
}
}

6.

/*
* 最后,我们需要继承JpaRepository这个类,这里我们实现了两个查询方法,第一个是符合JPA命名规范的查询,
JPA会自动帮我们完成查询语句的生成,另一种方式是我们自己实现JPQL(JPA支持的一种类SQL的查询)。
*/
@Repository
public interface UserRepository  extends  JpaRepository<User,Long>{

}

7.

@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurerAdapter{
//SpringBoot重写addResourceHandlers解决resources下面静态资源无法访问
//列:写addResourceHandlers()后,\webapp\ 下的静态资源可以访问了
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/src/main/webapp/**").addResourceLocations("classpath:/webapp/");
super.addResourceHandlers(registry);
}

}

8.

9.

10.



查看完整回答
反对 回复 2019-09-14
?
慕田峪7331174

1、将数据保存在session中,不要保存着request中;
2、两种方式清除session:服务器清除 和程序员写程序清除
服务器清除
setMaxInactiveInterval() 写在 session.setAttribute()之后
配置<session-config>放在web.xml

查看完整回答
反对 回复 2019-09-14
?
慕盖茨4494581

HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute(WebGlobal.getUser(), user);

查看完整回答
反对 回复 2019-09-14

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信