springMVC 调查问卷系统 record
Maven下的依赖包有两个 spring-web和springWebMVC
springwebMVC包含spring-web依赖, 但是spring-web的等级大于Spring-webmvc

没有 /src/main/resources
https://www.freesion.com/article/7115386412/
ctrl+ shift +R 输入 .classpath .project 会找到该文件
web.xml 文件报错:cvc-id.3: A field of identity constraint ‘web-common-servlet-name-uniqueness‘ matched
https://blog.csdn.net/qq_35091353/article/details/115270974
web.xml配置详情
https://www.cnblogs.com/jxldjsn/p/8099101.html
spring MVC 五大组件
eclipse 中使用maven创建springMVC
https://www.cnblogs.com/daxiang2008/p/9663317.html
jxl操作excel
https://www.cnblogs.com/xd502djj/archive/2011/08/15/2139394.html
xml文件为了代码与配置分离
https://blog.csdn.net/jianyuerensheng/article/details/51258942
在web.xml文件中进行配置,在配置中设置springmvc-context.xml的路径
Web.xml
<servlet></servlet>标签 是用来配置实现serlvet接口的标签

Servlet-name 类名
Servlet-class 类全名 (包括了包名)

Servlet-mapping servlet类的路径
可以看出dispatcher 是spring依赖中的类
DispatcherServlet 是前端接口控制器,所有请求都经过它来统一分发
DispatcherServlet 是通过HanderMapping找到Controller的
具体是通过xml注解, @Controller 和 @RequestMapping

sping-mvc.xml文件中主要的工作是:
1.启动注解;
2.扫描controller包注解;
3.静态资源映射;
4.视图解析(defaultViewResolver);
5.文件上传(multipartResolver);
6.返回消息json配置
@RequestMapping(“”)与方法绑定时,该类会被实例化并且执行该方法, 接受对应目录
@RequestParam 接受对应的参数
application/json:json字符串部分可以用@RequestBody;url中的?后面参数可以用@RequestParam
jsp 在线考试系统
https://blog.csdn.net/weixin_44302370/article/details/103480742
${pageContext.request.contextPath } jsp取得绝对路径
<input type="button" value="测试" onclick="testJson()" /> 通过button来调用testJson()函数
<script type="text/javaScript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javaScript">
function testJson() {
var name = $("#name").val();
var password = $("#password").val();
var age = $("#age").val();
$.ajax({
//请求路径
url : "${pageContext.request.contextPath}/testJson",
//请求类型
type : "post",
//data表示发送的数据
data : JSON.stringify({
name : name,
password : password,
age : age
}), //定义发送请求的数据格式为JSON字符串
contentType : "application/json;charset=utf-8",
//定义回调响应的数据格式为JSON字符串,该属性可以省略
dataType : "json",
//成功响应的结果
success : function(data) {
if (data != null) {
alert("输入的用户名:" + data.name + ",密码:" + data.password
+ ", 年龄:" + data.age);
}
}
});
}
</script>
Jsp
<% %> 内添加代码,并且可以与html组合使用,比如可以将html表单放在while循环内,这样就输出多个表单了
Java代码后面带分号
<%= %> 用于java变量转字符串拼接
${} 得到返回ModelAndView 中的值
Java处理json数据
http://c.biancheng.net/spring_mvc/json.html
js
{} 是对象类型
$(document).ready(function(){
当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件
不然的话jquery 会将函数报
@RequestBody注解实现接收http请求的json数据,将json数据转换为java对象进行绑定。
springMVC.xml 万能头,我吐了,为啥我没早知道这玩意
https://blog.csdn.net/xiao_shixiong/article/details/102742722
使用阿里的fastjson解析工具,非常方便
springMVC 与json交互,将json字符串解析成对象,并且直接返回对象就是返回json给前端,非常方便
http://c.biancheng.net/spring_mvc/json.html
springmvc利用fastjson返回json字符串
https://www.cnblogs.com/peiyangjun/p/8178692.html
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
从前端传来的json字符串,可以被解析成对象,并且不需要是可序列化对象。
但是需要绑定对象实体,并且json的key
与属性名对应,可以是私有属性

如果绑定类少了属性对应的key,不会报错,相应的也会形成的对象也会少相应的属性


上面是fastjson 将字符串对象json转换为对象的,如果从对象取值,非常麻烦
下面是接收json字符串对象,通过JSONObject得到值的
https://www.cnblogs.com/xujie09/p/8119130.html
@Controller
public class TeacherController {
@RequestMapping("/score")
@ResponseBody
public ModelAndView testJson(@RequestBody
String jsonstr) {
ModelAndView mv = new ModelAndView("ScoreView");//指定视图 //向视图中添加所要展示或使用的内容,将在页面中使用
JSONObject jsonObject = JSONObject.parseObject(jsonstr);
String t1 = (String) jsonObject.get("t1");//获取属性
mv.addObject("score",String.valueOf(jsonObject.size()));
return mv;
}
}
size() 获得元素的数量
String 对象与 字面常量比较时,要用equals() ,不能用==,因为==是比较地址的
C#用String.Compare(,)
我对java的目录真是服了,当前目录竟然不是和java文件同级目录,吐了
File file = new File("a.txt"); //此时a.txt是在与src目录同级的地方
File file = new File(".\\a.txt");//此时a.txt是在与src目录同级的地方
File file = new File(".\\excle\\a.txt"); 与src同级的目录,excle目录下的a.txt
Windows用\\
我累了,当我把它用在tomcat下读取文件时,一直找不到文件,后面一想,既然找不到,那就生成一个吧,结果发现它在文件生成在tomcat顶层目录,java有病吗,不取当前目录你去顶层目录干嘛,靠,我整整调2个多小时的代码
吐了
Jxl 在spring4已经不支持了,
曙光:使用POI读取EXCEL
https://blog.csdn.net/a327071315/article/details/101951906
https://blog.csdn.net/heshengfu1211/article/details/103451380
java操纵excel文件常用的有jxl和poi两种方式
其中最主要的区别在于jxl不支持.xlsx,而poi支持.xlsx
这里介绍的使用poi方式(XSSFWorkbook),实际上poi提供了HSSFWorkbook和XSSFWorkbook两个实现类。区别在于HSSFWorkbook是针对.xls文件,XSSFWorkbook是针对.xslx文件。
和jxl的方式差不多简单
绝望到finally
尝试了XSSFWorkbook , 发现不行,当我已经打算放弃时,我看到一篇博客,让我重新燃起了希望

当我尝试着实现HSSFWorkbook , 200!!!!
https://blog.csdn.net/weixin_30375247/article/details/97459001
路径问题

当我将windos下的war 移到tomcat时,又出现500了
原因是 我centos7下的tomcat 是docker下的,我目录只挂载了webapps,conf, log; 所以我在centos下创建excel文件是没有用的,因为docker下是没有挂载到该目录的
所以我将excel目录放在了webapps下
//windos下的路径
//File file = new
File(".\\excel\\"+excelFileName+".xls");//创建workbook
//centos7下的路径
File
file = new File("./webapps/excel/"+excelFileName+".xls");//创建workbook
应该是这样,在一个jsp页面中,springMVC只能一个页面(请求)与一个@requestmapping绑定
但是对应js来说,一个页面可以向服务器发送多个请求来得到 响应的数据
所以我要把 springMVC controler分为放回页面和数据,以及只返回数据
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)
XMLHttpRequest 对象用于与服务器交互数据
可以在不重新加载页面的情况下向服务器发送请求,得到服务器响应数据,然后更新网页

发现ajax本身就有得到响应数据
success : function(data,) {
console.log(data);
score=data;
status=true;
}

Target:
springMVC和redis数据库进行交互,不将分数存于redis,而是存30 60 90 之间的四个分段
提交后,服务器返回 score字符串,前端得到score,拼接url(${pageContext.request.contextPath}url+score),转到url中动态显示你的分数以及调查问卷分布情况(饼状图)
/exam =>> /Teacher发送json数据,返回score,拼接/ScoreView?score=成绩,并直接跳转
添加这个@RequestBody 服务器接受的请求一定要带有请求体,不然就会发送 400错误
数据可视化
https://echarts.apache.org/examples/zh/editor.html?c=pie-simple
我将tomcat与redis都部署在了docker下,所以在tomcat对redis进行访问得到数据库数据时,是在docker的内网
查看docker容器ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis
HSSX 获取excle的数字时是用double获取的
A_Score=cell.getNumericCellValue();
需要更改的地方:
ExamView.jsp TeacherControl需要改ip地址
InitTestPaper.java 需要改windos还是liunx的tomcat,因为路径的写法会不一样
爱死这篇文章了,在最后给我了help
https://www.cnblogs.com/code1992/p/13686833.html

Ip转发没有打开,所以无法访问docker 镜像

Redis未设密码被黑,并注入脚本
Redis.auth(“whataredoing”);
最好禁用config危险命令
springMVC 调查问卷系统 record的更多相关文章
- 使用ABAP代码提交SAP CRM Survey调查问卷
Jerry之前曾经写过两篇关于SAP CRM Survey调查问卷的技术文章: SAP CRM Survey调查问卷的模型设计原理解析 如何使用SAP CRM Marketing Survey创建一个 ...
- SAP CRM调查问卷的评分和图表显示功能介绍
SAP CRM里我们使用事务码CRM_SURVEY_SUITE创建一个调查问卷(Survey): 其中调查问卷的问题和答案均可分配权值(Rate),最后该问卷总的分数等于每个问题的权值乘以客户选择答案 ...
- "琳琅满屋"调查问卷 心得体会及结果分析
·关于心得体会 当时小组提出这个校园二手交易市场的时候,就确定了对象范围,仅仅是面向在校大学生,而且在我们之前就已经有了很多成功的商品交易的例子可以让我们去借鉴,再加上我们或多或少的有过网 ...
- JavasScript实现调查问卷插件
原文:JavasScript实现调查问卷插件 鄙人屌丝程序猿一枚,闲来无事,想尝试攻城师是感觉,于是乎搞了点小玩意.用js实现调查问卷,实现了常规的题型,单选,多选,排序,填空,矩阵等. 遂开源贴出来 ...
- JAVA配置&注解方式搭建简单的SpringMVC前后台交互系统
前面两篇文章介绍了 基于XML方式搭建SpringMVC前后台交互系统的方法,博文链接如下: http://www.cnblogs.com/hunterCecil/p/8252060.html htt ...
- 关于“Durian”调查问卷的心得体会
这周我们做了项目着手前的客户需求调查,主要以调查问卷的方式进行.其实做问卷调查并不是想象中的那么简单,首先要确定问卷调查的内容,每一个问题都要经过深思熟虑,字字斟酌,既要切合问卷主要目的,又要简洁扼要 ...
- 从Adobe调查问卷看原型设计工具大战
近年国内外原型设计工具新品频出,除了拥趸众多的老牌Axure在RP 8之后没有什么大的动作,大家都拼了命地在出新品.今天 inVision 的 Craft 出了 2.0 的预告视频,明天 Adobe ...
- Scrum立会报告+燃尽图(十一月十七日总第二十五次):设计调查问卷;修复上一阶段bug
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2284 项目地址:https://git.coding.net/zhang ...
- <问吧>调查问卷心得体会
<问吧>调查问卷心得与体会 在这之前,我们已经组成了一个六个人的小团队---“走廊奔跑队”,我们这次做的这个项目的名称是:问吧.在项目实施之前,我们必做的一步就是需求分析,目的就是充分了解 ...
随机推荐
- http8种请求方式
根据HTTP标准,HTTP请求可以使用多种请求方法. HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法. HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELE ...
- expect.sh
#!/usr/bin/expect spawn /usr/bin/ssh root@192.168.43.43 -p 22 expect "password:" send &quo ...
- TCP长连接实践与挑战
点这里立即申请 本文介绍了tcp长连接在实际工程中的实践过程,并总结了tcp连接保活遇到的挑战以及对应的解决方案. 作者:字节跳动终端技术 --- 陈圣坤 概述 众所周知,作为传输层通信协议,TCP是 ...
- Java动态绑定和静态绑定-多态
一.问题 Java方法调用过程中,Jvm是如何知道调用的是哪个类的方法?Jvm又是如何处理? 二.概念 a.当子类和父类(接口和实现类)存在同一个方法时,子类重写父类(接口)方法时,程序在运行时调 ...
- django入门 01 创建项目
安装django库 pip install django 创建--by 终端 django-admin startproject myproject 通过命令创建的django项目,默认不含templ ...
- react之每日一更(实现canvas拖拽,增、删、改拖拽模块大小功能)
效果图: import React, { Component } from 'react'; import scaleImage from './images/scale.png'; import c ...
- AI 智能写情诗、藏头诗
一.AI 智能情诗.藏头诗展示 最近使用PyTorch的LSTM训练一个写情诗(七言)的模型,可以随机生成情诗.也可以生成藏头情诗. 在特殊的日子用AI生成一首这样的诗,是不是很酷!下面分享下AI 智 ...
- NOIP2017 Day2T3 列队
首先可以观察到这样一个事实,如果 \((x, y)\) 出队,那么只会影响 \(x\) 这一行,以及最后一列的排布.并且可以发现,每次一个人出队,总会对最后一列有影响,因此我们可能需要将最后一列单独拿 ...
- Linux之shell变量
一.变量名的规范 定义形如:class_name='xiaohemiao' 使用形如:echo $class_name 1.变量名后面的等号左右不能有空格 2.命名只能使用英文字母,数字和下划线,首个 ...
- nvidia-smi
内容转自:https://blog.csdn.net/handsome_bear/article/details/80903477 nvidia-smi 显示 说明 Fan 风扇转速(0%--100% ...