JavaWeb基础应用

目录

  •  基本架构

  • 代码详解

  • 运行结果

  • 附参考源码


    基本架构

      我们可以将前面文章JDBC入门中的com.hp包复制过来,但需要注意的是controller包中累的变化,这也是我们实现这个基础应用的关键一步:

然后就是我们的webapp包中的内容,vue包需要导入我们需要用到的两个js包,当然,别忘了导入jar包,这关系到我们上面服务层的运作。最后是我们执行JavaWeb操作必不可少的html文件。

 不懂得如何操作的小伙伴可以去看看前面的文章哈

代码详解

由于其他的包都跟前面jdbc入门中一样,所以这里详细讲解DeptC类

这各类当中的代码是一个部门控制类,使用了Servlet技术来实现HTTP请求的处理。根据注解@WebServlet("/deptC"),该Servlet的访问路径为/deptC。在doGet方法中,首先通过deptService.list()方法获取部门列表,然后将列表数据转换为JSON格式,并通过JsonUtil.transJson(list,resp)方法将JSON响应给客户端。

  

 

  1. @WebServlet("/deptC"):使用@WebServlet注解,指定了Servlet的访问路径为/deptC。当客户端访问该路径时,容器会调用相应的Servlet类进行处理。

  2. public class DeptC extends HttpServlet:定义了一个名为DeptC的公共类,该类继承自HttpServlet类,表示它是一个Servlet。

  3. private IDeptService deptService=new DeptServiceImpl();:创建一个私有的IDeptService类型的对象deptService,并初始化为DeptServiceImpl类的实例。这里使用了服务层的实现类来处理业务逻辑。

  4. @Override:表示该方法是对父类或接口方法的重写。

  5. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException:重写了父类HttpServletdoGet方法,该方法用于处理HTTP GET请求。

  6. System.out.println("测试访问doget...");:打印一条调试信息,用于测试doGet方法是否被访问。

  7. List<Dept> list=deptService.list();:调用deptService对象的list方法,获取部门列表数据,并将其存储在List<Dept>类型的变量list中。

  8. System.out.println(list);:打印部门列表,用于测试是否成功获取部门数据。

  9. JsonUtil.transJson(list,resp);:使用JsonUtil工具类的transJson方法,将部门列表数据转换为JSON格式,并将JSON响应给客户端。

完成了这个类的创建,并进行部署,我们就可以调取数据库中的数据,如运行结果中图1所示

接下来我们要编写一个html文件使其按照表格的形式展现出来:

  1. <script src="/vue/vue.min.js"></script>:引入Vue.js库。

  2. <script src="/vue/axios.min.js"></script>:引入axios库,用于发送HTTP请求。

  3. <div id="app">:定义一个id为"app"的div元素,作为Vue实例的挂载点。

  4. <button @click="showDept">点击显示数据</button>:定义一个按钮,点击按钮会触发Vue实例的showDept方法。

  5. <table>:定义一个表格,用于展示部门数据。

  6. <tr>序号</tr>:表头行,显示标题。

  7. <tr v-for="dept in deptList">:使用Vue指令v-for循环遍历deptList数组中的每一个部门对象。

  8. <td>{{dept.did}}</td>:表格的一列,显示部门的ID。

  9. <td>{{dept.dname}}</td>:表格的一列,显示部门的名称。

  10. <td>{{dept.dlocation}}</td>:表格的一列,显示部门的位置。

  11. <td>{{dept.leader}}</td>:表格的一列,显示部门的领导。

  12. new Vue({:创建一个Vue实例。

  13. el:'#app',:指定Vue实例挂载的元素为id为"app"的div。

  14. data: {deptList:[]},:定义Vue实例的初始数据对象,其中deptList是一个空数组,用于存储部门数据。

  15. methods: {showDept(){axios.get('http://localhost:8080/deptC').then((resp)=>{console.log(resp,resp.data)this.deptList=resp.data})}}:定义Vue实例的方法showDept(),方法中使用axios发送GET请求到http://localhost:8080/deptC路径,并在接收到响应后将部门数据存储到deptList中。

完成以上操作打开后就可以看到我们导出的数据库制表了。

注:代码边写完成之后千万别忘了进行部署哦!

运行结果

图1(由于大小原因,只截取部分)

 

 

附参考源码

 DeptC类:

package com.hp.controller;


import com.alibaba.fastjson.JSON;
import com.hp.pojo.Dept;
import com.hp.service.IDeptService;
import com.hp.service.impl.DeptServiceImpl;
import com.hp.utils.JsonUtil;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

//每一个类,继承HttpServlet,该类就是一个servlet,每一个servlet都有一个访问路径
@WebServlet("/deptC")
//部门控制类
public class DeptC extends HttpServlet {
    //引入service层
    private IDeptService deptService=new DeptServiceImpl();

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("测试访问doget...");
        List<Dept> list=deptService.list();
        System.out.println(list);
        //数据转化成json格式,再响应给服务器
        JsonUtil.transJson(list,resp);
    }
}

html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/vue/vue.min.js"></script>
    <script src="/vue/axios.min.js"></script>
</head>
<body>
    <div id="app">
        <button @click="showDept">点击显示数据</button>
        <table border="1" cellpadding="20" cellspacing="0">
            <tr>序号</tr>
            <tr>部门名称</tr>
            <tr>部门位置</tr>
            <tr>部门领导</tr>
            <tr v-for="dept in deptList">
                <td>{{dept.did}}</td>
                <td>{{dept.dname}}</td>
                <td>{{dept.dlocation}}</td>
                <td>{{dept.leader}}</td>
            </tr>
        </table>
    </div>
</body>
<script>
    new Vue({
        el:'#app',
        data: {
            deptList:[]
        },
        methods:{
            showDept(){
                axios.get('http://localhost:8080/deptC').then((resp)=>{
                    console.log(resp,resp.data)
                    this.deptList=resp.data
                })
            }
        }
    })
</script>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!欢迎您对JavaWeb基础学习的兴趣。如果您是初学者,我可以为您提供一些入门的建议和学习资源。以下是一些建议: 1. Java基础知识:在学习JavaWeb之前,首先需要掌握Java基础知识,包括面向对象编程、控制流、集合框架等。您可以通过在线教程、书籍或视频教程学习这些基础知识。 2. HTML和CSS:了解HTML和CSS是非常重要的,因为JavaWeb开发涉及到与前页面的交互。您可以通过在线教程或相关书籍学习HTML和CSS的基础知识。 3. Servlet:Servlet是JavaWeb的核心技术之一,它用于处理HTTP请求和响应。学习Servlet可以帮助您理解JavaWeb开发的基本原理和流程。您可以通过阅读相关的文档、教程或者参考书籍来学习Servlet。 4. JSP:JSP(JavaServer Pages)是一种用于创建动态Web页面的技术。它可以帮助您将Java代码嵌入到HTML中,从而实现动态内容的生成和展示。学习JSP可以让您更高效地开发JavaWeb应用程序。 5. 数据库知识:JavaWeb应用程序通常需要与数据库进行交互,因此了解数据库的基本知识也是必要的。您可以学习关系型数据库(如MySQL)的基本概念、SQL语句的使用以及Java与数据库的连接。 6. 框架和工具:学习一些常用的JavaWeb框架和工具,例如Spring、Hibernate等,可以提高您的开发效率和代码质量。 除了以上建议,您还可以通过参加培训班、加入开发社区或者实践项目来加强自己的JavaWeb技能。希望以上建议对您有所帮助!如果您有任何进一步的问题,请随时向我提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值