Java作业合集

一对一指导 shanhuhai 872℃ 0评论

作业说明

作业类型及提交方式说明:
– 作业通过git提交,先注册 gitee 参考, 详细参考教程 git提交代码
– 建一个 code_practice 的仓库,作为日常的代码练习仓库
– 代码片段,例如作业一,作业二,属于代码片段,这种作业不需要建立独立仓库,提交到日常代码练习的仓库即可
– 独立项目,例如作业三,作业四,都是独立的Maven工程, 要创建的独立的仓库, 分别提交。。,,
– 独立项目用不同方式开发, 比如作业七属于作业三的增强,可以通过在作业三的基础上建立分支的方式来提交。

作业一

编写一个类的方法(函数), 参数输入数字1~7,返回对应星期几(例如,传入1 ,返回”星期一“, 传入2, 返回”星期二“…)

作业二

用 Java 打印九九乘法表

作业三

用 Java 编写一个爬虫,支持抓取网站图片之家(https://www.tupianzj.com/),指定二级分类的前10页数据,创建一个名为 images的文件夹,的将封面图存储到 images 文件夹中, 将图片标题作为图片名称。
项目完成后在gitee 单独创建一个仓库将代码提交上去

二级分类例如 https://www.tupianzj.com/gaoxiao/touxiang/

提示:
使用 Maven 引入 jsoup 包。
jsoup 使用方法参考, https://www.cnblogs.com/sam-uncle/p/10922366.html

了解 dom 结构 https://developer.mozilla.org/zh-CN/docs/Web/API/Document_Object_Model/Introduction

<dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.11.3</version>
</dependency>

提供两个函数,可以放入自己的程序直接调用。

第一个:创建目录,传入要创建的目录地址 例如 createDir("D:\\spider\images\")

/**
* 创建指定的目录
* @param path 要创建的文件夹地址
*/
private static void createDir(String path){
        //创建根文件夹
        File folder = new File(path);
        if(!folder.exists() && !folder.isDirectory()) {
            if (folder.mkdirs()){
                System.out.println("创建文件夹"+path+ "成功");
            } else {
                System.out.println("创建文件夹"+path+"失败");
            }
        } else {
            System.out.println(folder+"文件夹已创建");
        }

    }

第二个: 下载图片文件到指定目录

/**
 * 下载图片文件到指定目录
 * @param path 存储图片的目录
 * @param picUrl 要下载的图片地址
 * @throws IOException
 */

    private static void downloadPic(String path, String picUrl) throws IOException {
        String imageName = picUrl.substring(picUrl.lastIndexOf("/")+1, picUrl.length());

        URL url = new URL(picUrl);
        URLConnection uri = url.openConnection();
        InputStream is = uri.getInputStream();
        OutputStream os = new FileOutputStream(new File(path, imageName ));

        byte[] buf = new byte[1024];
        int len = -1;
        while ((len = is.read(buf)) != -1) {
            os.write(buf,0 ,len);
        }

    }

作业四

编写一个网页,使用 html + CSS做一个人介绍的网页,包含个人头像(img标签),个人社交网站地址(a标签),个人简介(p标签)

作业五

用Servlet、JSP技术, 实现一个网页,里面包含一个输入框, 输入你的名字后,点击提交,顶部显示”你好,xxx“

作业六

使用用Servlet、JSP技术、JDBC、Mysql数据库,完成代办事项管理(TodoList)功能。

功能: 支持添加任务, 删除任务, 修改任务,查询任务。
每一条任务包含任务编号, 包含状态(待完成|已完成)、任务创建时间、 任务完成时间。
支持分页展示。

作业七

将作业四中的个人简历使用 Bootstrap 重写。
使用 Servlet 技术开发一个接口,返回JSON格式的数据,内容为你的简历信息,格式例如:

{
    "name": "珊瑚海",
    "age": "28",
    "gender": "male",
    "education": "本科"
}

在作业四的基础上,使用JQuery的Ajax 方法,请求该接口,将你的个人简历信息展示到网页上。

作业八

使用 Bootstrap,重新实现自己的 代办事项(TodoList) 前端部分功能。
在原代码基础上创建一个分支,例如 bootstrap_style,在新分支上进行开发,提交代码,完成后将代码提交到远程的 bootstrap_style,命令如下:

// 创建分支命令为
git checkout -b bootstrap_style

// 保证当前分支为 bootstrap_style
git checkout bootstrap_type
// 将本地分支推送到远程
git push origin bootstrap_style

作业九

使用 Vue+ElementUI 完成作业六的前端部分。创建新的分支, 在新的分支上进行开发,开发完成后再推送到远程。

// 创建分支命令为
git checkout -b vue_style

// 保证当前分支为 vue_style
git checkout vue_style
// 将本地分支推送到远程
git push origin vue_style

作业十

在作业九的基础上, 用 SpringBoot 完成作业六,数据库部分使用 Mybatis+ Mybatis-Plus 操作数据库。
在新的分支上进行开发再推送到远程。

在作业九所在的分支上,新建分支

//保证当前分支为 vue_style
git checkout vue_style

//在vue_style 分支的基础上创建 springboot的分支
git checkout -b springboot_style

//完成作业后将 springboot_style 推送到远程
git push origin springboot_style

作业十一

在作业十的基础上,使用 Spring Security 实现用户登录注册功能,实现多用户的待办事项功能。

作业十二(博客项目)

独立开发一个博客系统,支持多用户发布

需求说明(仅供参考,建议自由发挥)

实现一个多用户的博客系统, 支持用户登录注册,支持登录用户发布评论。

用户角色:
用户角色分三种:
– 游客
– 游客可以浏览文章, 可以点赞
– 注册用户
– 注册用户进入个人中心可以发布文章,修改资料
– 超级管理员
– 超级管理员有独立的后台
– 可以管理文章、用户、分类、标签

功能模块:

  • 首页
    • 文章列表+ 分页
  • 侧边栏
    • 热门标签(显示包含内容最多的20个标签)
    • 最新文章
    • 最新评论
  • 文章详情页
    • 评论列表
    • 文章浏览量
    • 作者
    • 发布日期
    • 点赞
    • 分享
    • 标签列表
  • 标签页
    • 展示特定标签下的文章列表
  • 个人中心(/profile/)(登录用户可以进入)
    • 个人资料修改(上传头像等)
    • 安全设置(密码修改)
    • 评论管理
  • 管理后台(/admin/)(只有超级管理员可以进入)
    • 分类管理(增删改查)
    • 标签管理(增删改查)
    • 文章管理(增删改查)
    • 评论管理
      • 删除
      • 查询
      • 审核
    • 用户管理(增删改查)
    • 系统设置
      • 这是是否允许游客评论
      • 设置网站名称
      • 设置网站简介 (Description)
      • 设置每页显示文章数

技术选型

Java: JDK 1.8
web框架:SpringBoot2
数据库框架:Mybatis + Mybatis-Plus
数据库连接池:Druid
数据库:MySql
项目构建工具:Maven
项目缓存选型:Redis
文章编写展示:Editor.md
前端模板:Thymeleaf(选择前后不分离时使用)
安全框架:SpringSecurity

前端:HTML,CSS,JS,Bootstrap(前后不分离)
前端:HTML,CSS,JS,VUE,ElementUI(前后分离)
数据库:mysql5.7
部署服务器:腾讯云Centos7
图床:七牛云对象存储
CDN加速:七牛云CDN

建议使用前后不分离的实现,这样对搜索引擎比较友好

前端推荐使用模板(前后不分离): https://gitee.com/aron-gao/Light-Year-Blog

参考网站

作业十三(工程实践)

  1. 在阿里云上购买一台ECS(腾讯云CVM亦可),安装Centos7操作系统
  2. 在阿里云或者腾讯云上注册一个域名,备案并解析到自己的服务器
  3. 将作业十一,作业十二,以及项目实战阶段完成的在线教育项目部署到自己的服务器上,假如你注册的域名为 xxx.com,那么三个网站地址分别为:
    blog.xxx.com(博客),todo.xxx.com( 代办事项),edu.xxx.com (在线教育应用)

以上作业涉及费用,金额100左右, 自愿完成即可,主要可以锻炼自己项目实战能力,独立完成项目的能力。
可以将此作业内容, 写入自己的简历中,可以大幅提升简历质量

阿里ECS购买:https://www.aliyun.com/product/ecs
阿里云域名注册: https://wanwang.aliyun.com/
腾讯云域名注册:https://dnspod.cloud.tencent.com/

转载请注明:大后端 » Java作业合集

付费咨询
喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址