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 五大组件

https://mp.weixin.qq.com/s?src=11&timestamp=1639475475&ver=3496&signature=PWhYmsSilHuWz6joMmgrzX1SyT1IgOaXJ3Ft6GyLWIH5LtRFLH4fKaLCzHScyj2AVJ5d0pBowb7SdB3pevOHODPBptvl76muOq5Tlc8CR8zEIobDtHjYwZyLCgNycNKc&new=1

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的更多相关文章

  1. 使用ABAP代码提交SAP CRM Survey调查问卷

    Jerry之前曾经写过两篇关于SAP CRM Survey调查问卷的技术文章: SAP CRM Survey调查问卷的模型设计原理解析 如何使用SAP CRM Marketing Survey创建一个 ...

  2. SAP CRM调查问卷的评分和图表显示功能介绍

    SAP CRM里我们使用事务码CRM_SURVEY_SUITE创建一个调查问卷(Survey): 其中调查问卷的问题和答案均可分配权值(Rate),最后该问卷总的分数等于每个问题的权值乘以客户选择答案 ...

  3. "琳琅满屋"调查问卷 心得体会及结果分析

    ·关于心得体会       当时小组提出这个校园二手交易市场的时候,就确定了对象范围,仅仅是面向在校大学生,而且在我们之前就已经有了很多成功的商品交易的例子可以让我们去借鉴,再加上我们或多或少的有过网 ...

  4. JavasScript实现调查问卷插件

    原文:JavasScript实现调查问卷插件 鄙人屌丝程序猿一枚,闲来无事,想尝试攻城师是感觉,于是乎搞了点小玩意.用js实现调查问卷,实现了常规的题型,单选,多选,排序,填空,矩阵等. 遂开源贴出来 ...

  5. JAVA配置&注解方式搭建简单的SpringMVC前后台交互系统

    前面两篇文章介绍了 基于XML方式搭建SpringMVC前后台交互系统的方法,博文链接如下: http://www.cnblogs.com/hunterCecil/p/8252060.html htt ...

  6. 关于“Durian”调查问卷的心得体会

    这周我们做了项目着手前的客户需求调查,主要以调查问卷的方式进行.其实做问卷调查并不是想象中的那么简单,首先要确定问卷调查的内容,每一个问题都要经过深思熟虑,字字斟酌,既要切合问卷主要目的,又要简洁扼要 ...

  7. 从Adobe调查问卷看原型设计工具大战

    近年国内外原型设计工具新品频出,除了拥趸众多的老牌Axure在RP 8之后没有什么大的动作,大家都拼了命地在出新品.今天 inVision 的 Craft 出了 2.0 的预告视频,明天 Adobe ...

  8. Scrum立会报告+燃尽图(十一月十七日总第二十五次):设计调查问卷;修复上一阶段bug

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2284 项目地址:https://git.coding.net/zhang ...

  9. <问吧>调查问卷心得体会

    <问吧>调查问卷心得与体会 在这之前,我们已经组成了一个六个人的小团队---“走廊奔跑队”,我们这次做的这个项目的名称是:问吧.在项目实施之前,我们必做的一步就是需求分析,目的就是充分了解 ...

随机推荐

  1. 由浅入深,66条JavaScript面试知识点

    前言 我只想面个CV工程师,面试官偏偏让我挑战造火箭工程师,加上今年这个情况更是前后两男,但再难苟且的生活还要继续,饭碗还是要继续找的.在最近的面试中我一直在总结,每次面试回来也都会复盘,下面是我这几 ...

  2. 1. idea spark scala 语言支持设置

     Spark 版本为 3.0.0,默认采用的 Scala 编译版本为 2.12 1. 创建名为spark-project 的项目  2. 将src 删除,把spark-project 当成一个父项目, ...

  3. 布客&#183;ApacheCN 编程/后端/大数据/人工智能学习资源 2020.7

    公告 我们的群共享文件有备份到 IPFS 的计划,具体时间待定. 我们的机器学习群(915394271)正式改名为财务提升群,望悉知. 请关注我们的公众号"ApacheCN",回复 ...

  4. Java安全之BCEL ClassLoader

    目录 Java安全之BCEL ClassLoader 写在前面 About BCEL 调试分析 食用姿势 Fuzz反序列化Gadget Fastjson BCEL Payload Thymeleaf ...

  5. 关于将px转换为vw vh的解决方案

    什么是vw(Viewport Width)和vh(Viewport Height)? vw和vh是前端开发中的一个动态单位,是一个相对于网页视口的单位. 系统会将视口的宽度和高度分为100份,1vw占 ...

  6. php curl发送post get请求

    POST: function curl_post_https($url, $data, $header){ // 模拟提交数据函数 $curl = curl_init(); // 启动一个CURL会话 ...

  7. 【转】Nginx服务并发过10万的Linux内核优化配置

    http://www.linuxidc.com/Linux/2012-11/75151.htm以下Linux 系统内核优化配置均经在线业务系统测试,服务器运行状态良好,用了一些时间整理,现和大家分享一 ...

  8. 认识Html DOM

    1.认识HTML DOM HTML Document Object Model 即:超文本标记语言-文档对象模型 HTML DOM理解为网页的API.它将网页中的各个元素都看作一个个对象,从而使网页中 ...

  9. Mysql批量删除和修改某个前缀的表

    1.批量删除某个前缀的表名,首先选出这些个表. select concat( 'drop table ', table_name, ';' ) from information_schema.tabl ...

  10. 理解ASP.NET Core - 基于JwtBearer的身份认证(Authentication)

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 在开始之前,如果你还不了解基于Cookie的身份认证,那么建议你先阅读<基于Cookie ...