springboot 静态资源访问问题

不要热部署 2020-10-30 07:26:05
本内容的代码已放到git上
https://github.com/2325616550/springBoot_jibite.git

一、目的
掌握Servlet编程,包括Servlet处理请求与响应,会话Session机制,熟悉Eclipse/MyEclipse开发Java Web应用框架。

二、实验内容与设计思想
1.设计思路
1、求函数y=x*e-x在区间[a,b]上的定积分值,其中a,b由页面表单传入(即使用参数传递),并假定a小于b。要求使用数值方法求得定积分值的近似值(不能使用定积分公式来计算),常用的近似求法有:矩形法、梯形法、抛物线法,任意选择一种或多种实现均可,详见附件。
本题要求使用迭代法实现定积分值的近似计算。
2、使用Session实现“猜数字游戏”。猜数字是一个简单的游戏,标准游戏规则如下:
通常由两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的4位数,不能让猜的人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
如正确答案为 5234,而猜的人猜 5346,则是 1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为 2B,合起来就是 1A2B。
接着猜的人再根据出题者的几A几B继续猜,直到猜中(即 4A0B)为止。
本题要求计算机模拟出数字的一方(4位数字不能重复),并提供Web页面让游戏者猜测,同时根据比对结果给出相应的提示。一旦用户猜中数字,则显示成功信息,并给出答案及游戏者猜测的次数。
2.主要数据结构
public interface UserService {
boolean isUser(String name,String password);
boolean checkName(String name);
Integer addUser(User user);
User getUser(String name);
}

上图是猜数字游戏的结构
属性就一个int整数 是指要猜的正确答案
然后一个获得猜测结果的方法,接口传入玩家猜测的数字
3.主要代码结构

3个controller 用来处理1.积分2.猜数字的业务3.页面的跳转
1个service 用来写获得猜测结果的逻辑
4.主要代码段分析
    @RequestMapping("setNumber")
public void setNumber(HttpServletRequest req){
HttpSession session = req.getSession();
StringBuilder num = new StringBuilder();
int correctNum;
int a;
while (true) {
a = (int)(10*Math.random());
//第一位不能为0
if(num.length()<1){
while(true) {
if (a == 0) {
a = (int) (10 * Math.random());
} else {
break;
}
}
}
//检查重复
boolean isRepeat;
while(true){
isRepeat = false;
for (int i=0; i<num.length();i++) {
if (num.charAt(i)==(a+'0')) {
a = (int) (10 * Math.random());
isRepeat=true;
break;
}
}
if(!isRepeat)
break;
}
num.append(a);
if(num.length()>3)
break;
}
correctNum=Integer.parseInt( num.toString());
session.setAttribute("correctNumber",correctNum);
System.out.println(session.getAttribute("correctNumber"));
}


这个方法处理的是设置正确答案的业务。
因为数字不能重复,就单独每一位随机再和之前已经获得的数字进行比较 如若相同就继续随机直至都不同。这里要注意下第一位数字不能为0.
2.
这个是处理积分功能的,通过前端将表单数据序列化传回后端,处理积分用的是迭代求法。
三、实验使用环境
IDEA开发和Spring Boot框架


四、实验步骤和调试过程
1.实验步骤
(1).先将前端页面写好,这里用的是ajax局部刷新来处理本次实验要求的功能。
前端页面展示:

(2).编写后台代码和脚本,启动运行
2.测试数据设计
(1).页面中两个按钮都绑定了单机事件,点击会触发ajax局部刷新页面。

(2).处理积分的数据设计
可能会出现1.积分上下限大小不对,2.没填数据就点确定,3.有填入空格,4.数字中混了字母等可能意外的情况。这些都有写脚本用正则表达式去检验。
(3).猜数字的数据设计
可能会出现1.没填数据就点确认,2.有填入空格,3.没填满4位数字,4.多填数字等可能出现意外的情况。这些也都有考虑到并进行了校验。
3.测试结果分析。
(1).积分的数据处理结果
1.什么都不填或其中有没填
2.出现填入不能表示数据的字符
3.出现填写了空格
4.错误的上下限
5.正确的情况
(2).猜数字的数据结果
1.什么都不填或没填满4位数
2.出现了非数字的字符
3.由于在输入标签中加入了 ,则解决了输入可能超过4位数的情况
4,正常的情况
1).在设置正确数字的代码中添加一行将正确数字打印到控制台,我们可以发现我们本次要猜的数字。
2) .第一次输入不沾边的数字
3).第二次输入1A1B的情况
4).第三次输入
5) .第四次输入正确数字
五、实验小结
1.实验中产生的错误及原因分析
实验中的猜数字游戏中的模态框出现过点击空白区就消失的情况,后来查询资料是要加一个 backdrop : 'static' 属性,其中 ,backdrop:’static’ 指的是点击背景空白处不被关闭。
2.实验体会和收获。
Servlet 是运行在服务器上的一个 java 小程序, 它可以接收客户端发送过来的请求, 并响应数据给客户端。

六、附录
可线上验证本次实验:http://39.100.64.245/springboot/smallFeature
















...全文
217 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧