作业说明
作业类型及提交方式说明:
– 作业通过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
参考网站
作业十三(工程实践)
- 在阿里云上购买一台ECS(腾讯云CVM亦可),安装Centos7操作系统
- 在阿里云或者腾讯云上注册一个域名,备案并解析到自己的服务器
- 将作业十一,作业十二,以及项目实战阶段完成的在线教育项目部署到自己的服务器上,假如你注册的域名为 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/