Rumah  >  Artikel  >  Java  >  Cara menggunakan Java SSM untuk melaksanakan penyahpepijatan bersama protokol bahagian hadapan dan belakang

Cara menggunakan Java SSM untuk melaksanakan penyahpepijatan bersama protokol bahagian hadapan dan belakang

PHPz
PHPzke hadapan
2023-05-05 22:31:091169semak imbas

Persediaan alam sekitar

Struktur projek adalah sama seperti sebelumnya:

Cara menggunakan Java SSM untuk melaksanakan penyahpepijatan bersama protokol bahagian hadapan dan belakang

Kami menambah sumber statik baharu:

Cara menggunakan Java SSM untuk melaksanakan penyahpepijatan bersama protokol bahagian hadapan dan belakang

Oleh kerana sumber statik ditambah, SpringMVC akan memintas mereka Semua sumber statik perlu dikeluarkan dalam kelas konfigurasi SpringConfig:

Kami mencipta SpringMvcSupport baharu

@Configuration
public class SpringMvcSupport extends WebMvcConfigurationSupport {
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/pages/**").addResourceLocations("/pages/");
        registry.addResourceHandler("/css/**").addResourceLocations("/css/");
        registry.addResourceHandler("/js/**").addResourceLocations("/js/");
        registry.addResourceHandler("/plugins/**").addResourceLocations("/plugins/");
    }
}

Selepas konfigurasi selesai, kita memerlukan Scan SpringMvcSupport dalam SpringMvcConfig:

@Configuration
@ComponentScan({"com.nefu.controller","com.nefu.config"})
@EnableWebMvc
public class SpringMvcConfig {
}

Seterusnya kita perlu melaksanakan semua pertanyaan senarai, penambahan, pengubahsuaian, pemadaman dan fungsi lain satu demi satu.

Fungsi senarai

Cara menggunakan Java SSM untuk melaksanakan penyahpepijatan bersama protokol bahagian hadapan dan belakang

Keperluan: Selepas halaman dimuatkan, hantar permintaan tak segerak ke latar belakang untuk mendapatkan data senarai untuk paparan.

  • Cari fungsi cangkuk halaman, dan kaedah created()

  • dipanggil dalam
  • created()this.getAll()

  • kaedah
  • Gunakan aksios untuk menghantar permintaan tak segerak untuk mendapatkan data daripada latar belakang dalam kaedah getAll()

  • Laluan akses ialah http://localhost/books

  • Pulangan data

Kandungan data res.data yang dikembalikan adalah seperti berikut:

{
"data": [
{
"id": 1,
"jenis": "Teori komputer",
"nama": "Praktikal musim bunga edisi kelima",
"penerangan" : "Tutorial klasik pengenalan musim bunga, pemahaman mendalam tentang prinsip Spring Technology Insider"
},
"id": 2,
"type": "Teori Komputer",
"name": "5 prinsip teras Spring dan 30 kelas tulisan tangan Amalan",
"penerangan": "Sepuluh tahun pengumpulan, pemikiran intipati Spring tulisan tangan"
},...
],
"kod": 20041,
"msg" : ""
}

Kaedah penghantaran:

getAll() {
    //发送ajax请求
    axios.get("/books").then((res)=>{
        this.dataList = res.data.data;
    });
}

Cara menggunakan Java SSM untuk melaksanakan penyahpepijatan bersama protokol bahagian hadapan dan belakang

Tambah fungsi

Cara menggunakan Java SSM untuk melaksanakan penyahpepijatan bersama protokol bahagian hadapan dan belakang

Keperluan: Lengkapkan modul fungsi baharu imej

  1. Cari butang baharu pada halaman dan butang itu terikat pada

    kaedah@click="handleCreate()"

  2. Cari kaedah

    dalam kaedah, buka panel baharu handleCreate

  3. dan cari butang OK dalam panel baharu, butang terikat dengan kaedah

    @click="handleAdd()"

  4. Cari kaedah

    dalam kaedahhandleAdd

  5. Hantar permintaan dan data dalam kaedah Selepas respons berjaya, panel baharu akan ditutup dan data akan diminta

Buka panel baharuhandleCreate

handleCreate() {
    this.dialogFormVisible = true;
},

Kaedah menghantar permintaan tak segerak dan membawa datahandleAdd

handleAdd () {
    //发送ajax请求
    //this.formData是表单中的数据,最后是一个json数据
    axios.post("/books",this.formData).then((res)=>{
        this.dialogFormVisible = false;
        this.getAll();
    });
}

Tambah pemprosesan status fungsi

Fungsi baharu asas telah selesai, tetapi masih terdapat beberapa masalah yang perlu diselesaikan:

Keperluan: Jika penambahan baharu berjaya, tutup panel dan tanya data sekali lagi Jadi apakah yang perlu dilakukan jika penambahan baharu gagal?

1 Dalam kaedah tambah pengendali, lakukan pemprosesan yang berbeza mengikut data yang dikembalikan oleh latar belakang

2 Jika latar belakang mengembalikan kejayaan, gesa mesej kejayaan dan tutup panel

3 Jika latar belakang mengembalikan kejayaan Jika kegagalan dikembalikan, mesej ralat

(1) Ubah suai halaman hujung hadapan

handleAdd () {
    //发送ajax请求
    axios.post("/books",this.formData).then((res)=>{
        //如果操作成功,关闭弹层,显示数据
        if(res.data.code == 20011){
            this.dialogFormVisible = false;
            this.$message.success("添加成功");
        }else if(res.data.code == 20010){
            this.$message.error("添加失败");
        }else{
            this.$message.error(res.data.msg);
        }
    }).finally(()=>{
        this.getAll();
    });
}

(2) Kembalikan hasil operasi di latar belakang, dan tukar nilai pulangan kaedah penambahan, pemadaman dan pengubahsuaian lapisan Dao daripada

kepada void int

public interface BookDao {
//    @Insert("insert into tbl_book values(null,#{type},#{name},#{description})")
    @Insert("insert into tbl_book (type,name,description) values(#{type},#{name},#{description})")
    public int save(Book book);
    @Update("update tbl_book set type = #{type}, name = #{name}, description = #{description} where id = #{id}")
    public int update(Book book);
    @Delete("delete from tbl_book where id = #{id}")
    public int delete(Integer id);
    @Select("select * from tbl_book where id = #{id}")
    public Book getById(Integer id);
    @Select("select * from tbl_book")
    public List<Book> getAll();
}

(3) Dalam BookServiceImpl, kaedah penambahan, pemadaman dan pengubahsuaian ditentukan mengikut nilai pulangan DAO dan kembalikan benar/salah

@Service
public class BookServiceImpl implements BookService {
    @Autowired
    private BookDao bookDao;
    public boolean save(Book book) {
        return bookDao.save(book) > 0;
    }
    public boolean update(Book book) {
        return bookDao.update(book) > 0;
    }
    public boolean delete(Integer id) {
        return bookDao.delete(id) > 0;
    }
    public Book getById(Integer id) {
        if(id == 1){
            throw new BusinessException(Code.BUSINESS_ERR,"请不要使用你的技术挑战我的耐性!");
        }
//        //将可能出现的异常进行包装,转换成自定义异常
//        try{
//            int i = 1/0;
//        }catch (Exception e){
//            throw new SystemException(Code.SYSTEM_TIMEOUT_ERR,"服务器访问超时,请重试!",e);
//        }
        return bookDao.getById(id);
    }
    public List<Book> getAll() {
        return bookDao.getAll();
    }
}

(4) Uji situasi ralat dan ubah panjang kategori buku Hanya tetapkan di luar julat

Cara menggunakan Java SSM untuk melaksanakan penyahpepijatan bersama protokol bahagian hadapan dan belakang

Selepas memproses penambahan baharu, anda akan mendapati masih terdapat masalah dengan penambahan baharu >Selepas penambahan baharu berjaya, klik Tambah semula Butang akan mendapati bahawa data sebelumnya masih wujud Pada masa ini, anda perlu mengosongkan kandungan borang apabila menambahnya.

rreeee

Atas ialah kandungan terperinci Cara menggunakan Java SSM untuk melaksanakan penyahpepijatan bersama protokol bahagian hadapan dan belakang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam