springboot 静态资源访问问题

不要热部署 不要热部署 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
本内容的代码已放到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
















...全文

相关推荐

Spring Boot2.x解决静态资源不能访问的问题

以前在整合项目的时候经常遇到这个问题,但是能托就托,没怎么在意,今天需要整合Ueditor,但是JS文件依然没法显示,因此在这里解决了一下 设置静态资源不需要验证 因为我是使用的Spring Security Oauth2,已经整合了Spring Security,所以依然可以实现WebSecurityConfigurerAdapter //开启全局方法验证 @Configuration @EnableGlobalMethodSecurity(prePostEnabled = true) public class GlobalMethodSecurityConfig extends WebSe

weixin_38630463

SpringBoot页面跳转访问css、js等静态资源引用无效解决.docx

【SpringBoot页面跳转访问css、js等静态资源引用无效解决】 解释:SpringBoot项目默认访问根目录有三个分别是: /resources :系统默认的根路径 /static :所有静态资源文件如js、css、jpg、html等文件是可以直接访问的 /templates :此目录下的文件是不可以直接访问的,需要经过控制器才可以跳转的

拼自己的年代

springboot项目打成jar包后无法获取static下的静态资源文件的问题分析

主要介绍了springboot项目打成jar包后无法获取static下的静态资源文件的问题分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

weixin_38616330

springboot打jar包之后下载文件的路径问题

主要介绍了springboot打jar包之后下载文件的路径问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

weixin_38560768

SpingBoot-Web静态资源.zip

SpingBoot-Web静态资源.zip

洋气月
评论
收藏 已收藏
分享
返回顶部
不要热部署
Web 开发 81,108 成员 341,721 内容