File ->new->Project
点击Spring Initializr,进行配置
ServerURL修改为:https://start.aliyun.com
Name修改成项目的名字
Java改为8
Project SDK改为:1.8
选择Web,在SpringWeb那一栏打上对勾
让后点击Finish
进入项目后需要在右边的Maven那一栏点开左上角有一个刷新按钮点击一下,
如果是第一次创建项目的小伙伴们,下载时间可能稍微长
2.把之前写的项目部署到Spring项目中 2.1项目目录 2.2Java文件 2.2.1UserController(业务逻辑层)package com.myboot.myfirstspringboot.controller;
import com.myboot.myfirstspringboot.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
@Controller
public class UserController {
private static File userDir;
static {
userDir = new File("./users");
if(!userDir.exists()){
userDir.mkdirs();
}
}
@RequestMapping("/myweb/showAllUser")
public void showAllUser(HttpServletRequest request,HttpServletResponse response){
List userList = new ArrayList<>();
File[] subs = userDir.listFiles(f -> f.getName().endsWith(".obj"));
for (File userFile : subs) {
try (
FileInputStream fis = new FileInputStream(userFile);
ObjectInputStream ois = new ObjectInputStream(fis);
) {
User user = (User) ois.readObject();
userList.add(user);
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
System.out.println(userList);
//2将数据拼接到html生成页面
response.setContentType("text/html;charset=utf-8");
try {
PrintWriter pw = response.getWriter();
pw.println("");
pw.println("");
pw.println("");
pw.println("");
pw.println("用户列表 ");
pw.println("");
pw.println("");
pw.println("");
pw.println("用户列表");
pw.println("");
pw.println("");
pw.println("用户名 ");
pw.println("密码 ");
pw.println("昵称 ");
pw.println("年龄 ");
pw.println(" ");
for (User user : userList) {
pw.println("");
pw.println("" + user.getUsername() + " ");
pw.println("" + user.getPassword() + " ");
pw.println("" + user.getNickname() + " ");
pw.println("" + user.getAge() + " ");
pw.println(" ");
}
pw.println("
");
pw.println(" ");
pw.println("");
pw.println("");
} catch (IOException e) {
e.printStackTrace();
}
}
@RequestMapping("/myweb/login")
public void login(String username,String password, HttpServletResponse response) {
if (username == null || password == null|| username.isEmpty()||password.isEmpty()) {
try {
response.sendRedirect("/myweb/login_info_error.html");
} catch (IOException e) {
e.printStackTrace();
}
return;
}
//2
File userFile = new File(userDir, username + ".obj");
if (userFile.exists()) {//用户名输入正确
try (
FileInputStream fis = new FileInputStream(userFile);
ObjectInputStream ois = new ObjectInputStream(fis);
) {
//读取该注册用户信息
User user = (User) ois.readObject();
if (user.getPassword().equals(password)) {//密码正确
//登录成功
response.sendRedirect("/myweb/login_success.html");
return;
}
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
//如果程序走到这里,情况1:用户名没有输入正确,文件不存在
// 情况2:用户名对了,但是密码不对
try {
response.sendRedirect("/myweb/login_fail.html");
} catch (IOException e) {
e.printStackTrace();
}
}
@RequestMapping("/myweb/reg")
//传参方式3
public void reg(User user,HttpServletResponse response){
if(user.getUsername()==null||user.getPassword()==null||
user.getNickname()==null||user.getUsername().isEmpty()||
user.getPassword().isEmpty()||user.getNickname().isEmpty()){
try {
response.sendRedirect("/myweb/reg_info_error.html");
} catch (IOException e) {
e.printStackTrace();
}
return;
}
File userFile = new File(userDir,user.getUsername()+".obj");
if(userFile.exists()){//文件存在则说明是重复用户
try {
response.sendRedirect("/myweb/have_user.html");
} catch (IOException e) {
e.printStackTrace();
}
return;
}
try (
FileOutputStream fos = new FileOutputStream(userFile);
ObjectOutputStream oos = new ObjectOutputStream(fos);
){
oos.writeObject(user);
response.sendRedirect("/myweb/reg_success.html");
} catch (IOException e) {
e.printStackTrace();
}
}
//传参方式2
// public void reg(String username,String password,String nickname,int age,HttpServletResponse response){
// System.out.println(username+","+password+","+nickname+","+age);
//
// }
//传参方式1
// public void reg(HttpServletRequest request, HttpServletResponse response){
// String username = request.getParameter("username");
// String password = request.getParameter("password");
// String nickname = request.getParameter("nickname");
// String ageStr = request.getParameter("age");
// System.out.println(username+","+password+","+nickname+","+ageStr);
//
// //后期可以使用spring验证框架来完成
// if(username==null||password==null||nickname==null||ageStr==null||
// !ageStr.matches("[0-9]+")){
// try {
// response.sendRedirect("/myweb/reg_info_error.html");
// } catch (IOException e) {
// e.printStackTrace();
// }
// return;
// }
// int age = Integer.parseInt(ageStr);
// User user = new User(username,password,nickname,age);
// }
}
2.2.2User(实体层)
package com.myboot.myfirstspringboot.entity;//实体
import java.io.Serializable;
public class User implements Serializable {
public static final long serialVersionUID = 1L;
private String username;
private String password;
private String nickname;
private int age;
public User(){}
public User(String username, String password, String nickname, int age) {
this.username = username;
this.password = password;
this.nickname = nickname;
this.age = age;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"username='" + username + ''' +
", password='" + password + ''' +
", nickname='" + nickname + ''' +
", age=" + age +
'}';
}
}
2.2.3MyFirstSpringBootApplication(启动类)
package com.myboot.myfirstspringboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyFirstSpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(MyFirstSpringBootApplication.class, args);
}
}
2.3HTML代码
2.3.1have_user.html
失败
该用户已存在,请重新注册
2.3.2index.html
我的首页
注册
登录
用户列表
发表文章
二维码生成器
淘宝
第一列
第二列
第三列
第一列
第二列
第三列
第四列
第二列
第三列
第四列
2.3.3reg.html
用户注册
用户注册
2.3.4reg_info_error.html
失败
注册信息输入有误,请重新注册
2.3.5reg_success.html
成功
恭喜您,注册成功了!



