1,使用原始不分层的方法
一, writer.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>诗人信息列表展示</title>
</head>
<link rel="stylesheet" href="element-ui/index.css">
<script src="./js/vue.js"></script>
<script src="./element-ui/index.js"></script>
<script src="./js/axios-0.18.0.js"></script>
<body>
<h1 align="center">诗人信息列表展示</h1>
<div id="app">
<el-table :data="rawTableData" style="width: 100%" stripe border >
<el-table-column prop="number" label="序号" align="center" min-width="20%"></el-table-column>
<el-table-column prop="name" label="姓名" align="center" min-width="20%"></el-table-column>
<el-table-column prop="gender" label="性别" align="center" min-width="20%"></el-table-column>
<el-table-column prop="dynasty" label="朝代 " align="center" min-width="20%"></el-table-column>
<el-table-column prop="rank" label="头衔 " align="center" min-width="20%"></el-table-column>
<el-table-column prop="mode" label="风格 " align="center" min-width="20%"></el-table-column>
</el-table>
</div>
</body>
<style>
.el-table .warning-row {
background: oldlace;
}
.el-table .success-row {
background: #f0f9eb;
}
</style>
<script>
new Vue({
el: "#app",
data() {
return {
rawTableData: []
}
},
mounted(){
axios.get('/listWriter').then(res=>{
if(res.data.code){
this.rawTableData = res.data.data;
}
});
},
methods: {
}
});
</script>
</html>
二:writerController文件:
package com.wust.controller;
import com.wust.pojo.Result;
import com.wust.pojo.Writer;
import com.wust.utils.XmlParserUtils1;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class WriterController {
@RequestMapping("/listWriter")
public Result list(){
//1.加载并解析writer.xml
//
String file=this.getClass().getClassLoader().getResource("writer.xml").getFile();
System.out.println(file);
List<Writer> writerList= XmlParserUtils1.parse(file, Writer.class);
//2.对数据进行转化处理gender--运用stream流
writerList.stream().forEach(writer -> {
//处理gender 1:男 2: 女
String gender=writer.getGender();
if("1".equals(gender)){
writer.setGender("男");
}else if ("2".equals(gender)){
writer.setGender("女");
}
});
//3.响应结果
return Result.success(writerList);
}
}
三,writer.java文件
package com.wust.pojo;
public class Writer {
private String name;
private Integer number;
private String dynasty;
private String gender;
private String rank;
private String mode;
public Writer(String name, Integer number, String dynasty, String gender, String rank, String mode) {
this.name = name;
this.number = number;
this.dynasty = dynasty;
this.gender = gender;
this.rank = rank;
this.mode = mode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
public String getDynasty() {
return dynasty;
}
public void setDynasty(String dynasty) {
this.dynasty = dynasty;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
public String getMode() {
return mode;
}
public void setMode(String mode) {
this.mode = mode;
}
@Override
public String toString() {
return "writer{" +
"name='" + name + '\'' +
", number=" + number +
", dynasty='" + dynasty + '\'' +
", gender='" + gender + '\'' +
", rank='" + rank + '\'' +
", mode='" + mode + '\'' +
'}';
}
}
2.三层架构
1.当我们在前端发起请求后,请求先到达Controller程序——负责接受请求,响应数据
2.在接受请求后Controller程序去调用service层中的方法 ——负责具体的逻辑处理
3.获取数据,service层,去调用Bao程序——负责数据的访问操作
4.bao查询的数据返回给service进行逻辑处理,后再将处理后的数据返回Controller程序
WrriterController代码:
package com.wust.controller;
import com.wust.pojo.Result;
import com.wust.pojo.Writer;
import com.wust.service.WriterSerive;
import com.wust.service.impl.WriterSeriveA;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class WriterController {
private WriterSerive writerSerive=new WriterSeriveA();
@RequestMapping("/listWriter")
public Result list(){
List<Writer> writerList = writerSerive.listWriter();
return Result.success(writerList);
}
}
WriterDaoA代码:
package com.wust.dao.impl;
import com.wust.dao.WriterDao;
import com.wust.pojo.Writer;
import com.wust.utils.XmlParserUtils1;
import java.util.List;
public class WriterDaoA implements WriterDao {
@Override
public List<Writer> Writerlist() {
String file=this.getClass().getClassLoader().getResource("writer.xml").getFile();
System.out.println(file);
List<Writer> writerList= XmlParserUtils1.parse(file, Writer.class);
return writerList;
}
}
WriterSeriveA代码:
package com.wust.service.impl;
import com.wust.dao.WriterDao;
import com.wust.dao.impl.WriterDaoA;
import com.wust.pojo.Result;
import com.wust.pojo.Writer;
import com.wust.service.WriterSerive;
import java.util.List;
public class WriterSeriveA implements WriterSerive {
private WriterDao writerDao=new WriterDaoA();
@Override
public List<Writer> listWriter() {
List<Writer> writerList = writerDao.Writerlist();
writerList.stream().forEach(writer -> {
//处理gender 1:男 2: 女
String gender=writer.getGender();
if("1".equals(gender)){
writer.setGender("男");
}else if ("2".equals(gender)){
writer.setGender("女");
}
});
//3.响应结果
return writerList;
}
}