管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-12-22 295ae6c7514c90a2081a7806358007fec96bf238
1
已修改7个文件
308 ■■■■■ 文件已修改
src/main/java/com/lf/server/entity/bd/BboreholeEntity.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/bs/MdetactionpipelinepointEntity.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/bs/MhydraulicprotectionEntity.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/bs/MmarkerEntity.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/bs/MpipelineEntity.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/bs/SboreholeEntity.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
说明.txt 244 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/bd/BboreholeEntity.java
@@ -7,6 +7,7 @@
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.LocalDate;
/**
 * Bborehole
src/main/java/com/lf/server/entity/bs/MdetactionpipelinepointEntity.java
@@ -7,6 +7,7 @@
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.LocalDate;
/**
 * Mdetactionpipelinepoint
@@ -17,7 +18,7 @@
@TableName("bs.m_detaction_pipelinepoint")
@EqualsAndHashCode(callSuper = false)
public class MdetactionpipelinepointEntity extends BaseGeoEntity {
    private static final long serialVersionUID = 488103974837858240L;
    private static final long serialVersionUID = 576425296057213696L;
    private String projname;
@@ -41,7 +42,7 @@
    private String laying;
    private String layingdate;
    private LocalDate layingdate;
    private String flowto;
@@ -51,7 +52,7 @@
    private String dpipetype;
    private String surveydate;
    private LocalDate surveydate;
    private BigDecimal x;
@@ -170,11 +171,11 @@
        this.laying = laying;
    }
    public String getLayingdate() {
    public LocalDate getLayingdate() {
        return layingdate;
    }
    public void setLayingdate(String layingdate) {
    public void setLayingdate(LocalDate layingdate) {
        this.layingdate = layingdate;
    }
@@ -210,11 +211,11 @@
        this.dpipetype = dpipetype;
    }
    public String getSurveydate() {
    public LocalDate getSurveydate() {
        return surveydate;
    }
    public void setSurveydate(String surveydate) {
    public void setSurveydate(LocalDate surveydate) {
        this.surveydate = surveydate;
    }
src/main/java/com/lf/server/entity/bs/MhydraulicprotectionEntity.java
@@ -7,6 +7,7 @@
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.LocalDate;
/**
 * Mhydraulicprotection
@@ -17,7 +18,7 @@
@TableName("bs.m_hydraulic_protection")
@EqualsAndHashCode(callSuper = false)
public class MhydraulicprotectionEntity extends BaseGeoEntity {
    private static final long serialVersionUID = 488103974837858240L;
    private static final long serialVersionUID = 576425296057213696L;
    private String segname;
@@ -41,9 +42,9 @@
    private String measurer;
    private String meadate;
    private LocalDate meadate;
    private String accdate;
    private LocalDate accdate;
    private String conclusion;
@@ -172,19 +173,19 @@
        this.measurer = measurer;
    }
    public String getMeadate() {
    public LocalDate getMeadate() {
        return meadate;
    }
    public void setMeadate(String meadate) {
    public void setMeadate(LocalDate meadate) {
        this.meadate = meadate;
    }
    public String getAccdate() {
    public LocalDate getAccdate() {
        return accdate;
    }
    public void setAccdate(String accdate) {
    public void setAccdate(LocalDate accdate) {
        this.accdate = accdate;
    }
src/main/java/com/lf/server/entity/bs/MmarkerEntity.java
@@ -7,6 +7,7 @@
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.LocalDate;
/**
 * Mmarker
@@ -17,7 +18,7 @@
@TableName("bs.m_marker")
@EqualsAndHashCode(callSuper = false)
public class MmarkerEntity extends BaseGeoEntity {
    private static final long serialVersionUID = 488103974837858240L;
    private static final long serialVersionUID = 576425296057213696L;
    private String segname;
@@ -33,7 +34,7 @@
    private String photono;
    private String meadate;
    private LocalDate meadate;
    private BigDecimal x;
@@ -112,11 +113,11 @@
        this.photono = photono;
    }
    public String getMeadate() {
    public LocalDate getMeadate() {
        return meadate;
    }
    public void setMeadate(String meadate) {
    public void setMeadate(LocalDate meadate) {
        this.meadate = meadate;
    }
src/main/java/com/lf/server/entity/bs/MpipelineEntity.java
@@ -7,6 +7,7 @@
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.LocalDate;
/**
 * Mpipeline
@@ -17,7 +18,7 @@
@TableName("bs.m_pipeline")
@EqualsAndHashCode(callSuper = false)
public class MpipelineEntity extends BaseGeoEntity {
    private static final long serialVersionUID = 488103974837858240L;
    private static final long serialVersionUID = 576425296057213696L;
    private String pipename;
@@ -39,9 +40,9 @@
    private String projname;
    private String startdate;
    private LocalDate startdate;
    private String producdate;
    private LocalDate producdate;
    private String belongs;
@@ -138,19 +139,19 @@
        this.projname = projname;
    }
    public String getStartdate() {
    public LocalDate getStartdate() {
        return startdate;
    }
    public void setStartdate(String startdate) {
    public void setStartdate(LocalDate startdate) {
        this.startdate = startdate;
    }
    public String getProducdate() {
    public LocalDate getProducdate() {
        return producdate;
    }
    public void setProducdate(String producdate) {
    public void setProducdate(LocalDate producdate) {
        this.producdate = producdate;
    }
src/main/java/com/lf/server/entity/bs/SboreholeEntity.java
@@ -7,6 +7,7 @@
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.LocalDate;
/**
 * Sborehole
@@ -17,7 +18,7 @@
@TableName("bs.s_borehole")
@EqualsAndHashCode(callSuper = false)
public class SboreholeEntity extends BaseGeoEntity {
    private static final long serialVersionUID = 488103974837858240L;
    private static final long serialVersionUID = 576425296057213696L;
    private String drilltype;
@@ -39,7 +40,7 @@
    private BigDecimal wamplitude;
    private String gwaterdate;
    private LocalDate gwaterdate;
    private String workname;
@@ -174,11 +175,11 @@
        this.wamplitude = wamplitude;
    }
    public String getGwaterdate() {
    public LocalDate getGwaterdate() {
        return gwaterdate;
    }
    public void setGwaterdate(String gwaterdate) {
    public void setGwaterdate(LocalDate gwaterdate) {
        this.gwaterdate = gwaterdate;
    }
˵Ã÷.txt
@@ -1,74 +1,9 @@
----------------------------------------------------------------------------------------------------
01.修改菜单、数据目录、单位的xls数据,编写递归查询SQL
02.登录时验证使用MD5+Salt密码
03.登录时的用户名和密码使用RSA加密、解密
04.WebSocket服务
05.资源实时监控(CPU信息+内存信息+在线用户+资源状态)
06.新建和修改用户密码时使用MD5加密
07.解决Swagger-UI无法传递Cookie信息
08.验证密码复杂度(8-20位包含字母、数字和特殊字符)
09.使用GDAL读取tif、shp、gdb文件
10.添加Mybatis Plus组件
11.解决表映射出错、根据ID查询失败、分页无效等问题
12.开发地名地址分页查询接口
13.开发上传shp文件读取第一条记录的WKT功能
14.解决上传文件时实体类映射异常
15.后台服务访问添加登录验证拦截器
16.开发切面日志功能
17.添加数据库监控功能(Druid Monitor)
18.设置下载文件的MIME类型
19.5分钟内密码错误5次拒绝登录
20.开发获取资源权限、菜单权限、操作权限接口
21.Redis服务配置强密码,并解决SpringBoot启动后无法访问
22.修改钻孔表的数据结构,添加新的字段
23.修改钻孔数据下载工具,更新新增字段的属性
24.身份认证拦截器添加黑白名单检查功能
25.开发自动生成Mybtis Plus代码小工具
26.批量生成基础数据表的实体类和Mapper类
27.修改所有的批量新增、删除、修改接口
28.开发大文件上传接口(commons-fileupload)
29.开发批量修改用户密码接口
30.开发上传Shp文件功能
31.使用Gdal读取Shp文件,读取后删除文件
32.修改字典表的数据结构,变更所有涉及的后台方法
33.开发值域表的操作接口
34.修改字典管理、值域管理的接口
35.对用户、菜单、角色、资源进行授权
36.添加查询角色、菜单、资源权限接口
37.开发根据实体名称动态查询表的记录数
38.开发根据实体名称进行动态分页查询
39.开发根据实体名称+字段+值模糊搜索前10条记录
40.开发根据实体名称查询空间表的WKT记录
41.搭建QGIS+Python开发环境
42.开发根据名称模糊搜索用户、单位的前10条记录
43.构建QGIS工程,使用Python运行工程
44.开发QGIS生成专题图功能
45.开发根据标绘JSON数据生成shp文件并下载
46.创建QGIS出图模板,开发根据模板出图功能
47.开发QGIS出图的C#服务
48.开发通过格式化参数调用Python程序出图
49.解决出图页面溢出、图标丢失、底图切换等问题
50.开发.net服务调用Python程序,实现接口出图功能
51.在开发环境部署QGIS+Python出图功能 <
52.开发上传shp文件转换为JSON数据接口
53.开发读取Excel表格功能
54.开发根据实体名称动态读取Excel功能
55.
56.
57.
58.
59.
60.
Access:
https://blog.csdn.net/weixin_43407520/article/details/122165848
-----------------------------------------------
<property key="layers" value="USA Population,高德影像注记,高德影像"/>
  <property key="imgPath" value="E:/terrait/TianJin/ExportMap/ExportMap/Sources/geo.png"/>
-------------------------------------------------------------------------------
Access:https://blog.csdn.net/weixin_43407520/article/details/122165848
GDAL:https://www.cnblogs.com/unlockth/p/14062076.html
E:\terrait\TianJin\Zip\release-1928-x64-dev\release-1928-x64\bin
----------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------
@TableField(value = "class")
private String clazz;
@@ -92,7 +27,22 @@
.gdb > HFCP+LRRL + TFCA
.shp  > F5004_WT.shp + F5004_WL.shp + F5004.shp
------------------------------------------------------------------------------- æš‚时未对应的Controller
------------------------------------------------------------------------------- Java与Postgres类型对应
    java8        postgreSQL
1    LocalDate        date
2    LocalTime        time
3    LocalDateTime    timestamp without timezone
4    OffsetDateTime    timestamp with timezone
5    String        varchar
6    String        text
7    Integer        int2
8    Integer        int4
9    Long        int8
10    Float        float4
11    Double        float8
12    BigDecimal    numeric
13    Boolean        bool
------------------------------------------------------------------------------- æœªå¯¹åº”çš„Controller
data/DownloadController
data/MetaFileController
sys/AttachController
@@ -103,25 +53,22 @@
Block insecure private network requests. -> Disabled
进入bin目录,输入:ogrinfo --formats,中国石油天然气管道工程有限公司
----------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------
java和js实现aes加密解密:
https://blog.csdn.net/weixin_30663839/article/details/114049667
http://192.168.20.39:12306/
http://192.168.20.39:12315/
http://192.168.20.39:12316/
----------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------
String path = System.getProperty("user.dir");
String uid = RsaHelper.decrypt(user.getUid());
String pwd = RsaHelper.decrypt(user.getPwd());
String p1="Admin@123";
String p1 = "Admin@123";
boolean f = p1.equalsIgnoreCase("Some text here");
String p2= RsaHelper.encrypt(p1);
String p3= RsaHelper.decrypt(p2);
http://192.168.20.39:8088/cas/login,admin/Admin@123,postgres
String pwd = "Admin@123";
String md5 = "b37f70636f1164e86cc8796201737933f65af63918d8442b";
@@ -131,53 +78,29 @@
boolean f2 = Md5Helper.validatePassword(pwd, md5Pwd);
new String(Base64.getDecoder().decode(username));
下载:http://127.0.0.1:12316/style/download?guid=15deb4e6bf02db827e39521758520fd5
http://192.168.20.39:8088/cas/login,admin/Admin@123,postgres
使用Commons FileUpLoad æ–‡ä»¶ä¸Šä¼ åŠŸèƒ½ï¼š
https://www.itdaan.com/blog/2017/08/08/b2dbc1106fa7.html
Postgresql按天、周、月、年统计信息:
https://blog.csdn.net/qq_44663150/article/details/119681400
----------------------------------------------------------------------------------------------------
一、开发运行环境
JDK版本:1.8
maven版本:3.5
文件编码:UTF-8
二、技术框架说明
    æ€»ä½“采用了前后端分离的技术方案,后台提供REST服务,前端使用MVVM框架做用户交互。
    å‰åŽç«¯å¯å¹¶è¡Œç‹¬ç«‹å¼€å‘。
----------------------------------------------------------------------------------------------------
服务端:
  æ ¸å¿ƒæ¡†æž¶ï¼šSpringBoot
  æŒä¹…层框架:Mybatis
  å®‰å…¨æ¡†æž¶ï¼šShiro
  ç¼“存:redis
前端:
  JS框架:vue.js
  ä¸»é¡µæ¡†æž¶ï¼šadminLTE(基于Bootstrap)
  è¡¨æ ¼æ’件:jqGrid
  æ ‘形表格:tree-table
  æ ‘形插件:ztree
  å¼¹çª—组件:layer
  è¡¨å•校验:validator
private static final String SQLSERVER_URL = "jdbc:sqlserver://192.168.0.77\\ZKZS;databaseName=xian";
---------------------------------------------------------------------------------------------------- floatserver
-------------------------------------------------------------------------------
开发运行环境:JDK版本:1.8,maven版本:3.5,文件编码:UTF-8
服务端:核心框架:SpringBoot,持久层框架:Mybatis,安全框架:Shiro,缓存:redis
前端:JS框架:vue.js,主页框架:adminLTE(基于Bootstrap),表格插件:jqGrid,树形表格:tree-table,树形插件:ztree,弹窗组件:layer,表单校验:validator
private static final String SQLSERVER_URL = "jdbc:sqlserver://192.168.0.77\\ZKZS; databaseName=xian";
------------------------------------------------------------------------------- floatserver
http://localhost:12316/floatserver/checkout/license
String str = EntityUtils.toString(entity, "UTF-8");
java -jar C:\360\luyten054\luyten-0.5.4.jar
请求:
8dfb75298185cbcc4b2d485fdb4f25627f7aeb4dd41329076b5015586e4d56cf755f0dfd19be0d80e2573e0a2a22edca35215b390607b0ff68deab90c69296df60934315036bd8a64ee668a39502754b701be7534d0ca2e790161194d673d9454c44c570a1dbe604ac5952be731ca15809f9f4d43ad1b023f69981ce77abacc50e8e5217627eb236d5f6d114e00585d9a597f3a195b0b0c0ff8cf1e2445ca12e
响应:
8dfb75298185cbcc4b2d485fdb4f25627f7aeb4dd41329076b5015586e4d56cfe2c56f12cd9852c447904210117b41fe2672b24d7e82fd581ad5a0983b501b5bcbe97d65dbbe770dbdc4a98e80d2966a71ecd0041a5282283bff853d70caf7aed671bc9c9d4bedf6d1d0294394861af40f195d68a965d957d53c78aa50ada3afc65d1a526c54648e6e081e8f7f7ab1c31b9f75916170e638b0b9216d30204864afe3a7a1bc8a6563bf44daf6a29e27c19f798c4f82dbb904ea4aa4fcc87a82226d9bf3e891ecb97b94263064fec025e3aa7c440d7c0e8ed559b84ae2438ec0fc438444a03c992883170ecdde20e08552efcf9d584de469930b27c81f946548d5c6e63e815671182b03b5e6e622ddb10a3f6a35ad3f44ec247a3b2dee0e936020d48efb7abc2d2abfb555f61d54c85eca
请求:8dfb75298185cbcc4b2d485fdb4f25627f7aeb4dd41329076b5015586e4d56cf755f0dfd19be0d80e2573e0a2a22edca35215b390607b0ff68deab90c69296df60934315036bd8a64ee668a39502754b701be7534d0ca2e790161194d673d9454c44c570a1dbe604ac5952be731ca15809f9f4d43ad1b023f69981ce77abacc50e8e5217627eb236d5f6d114e00585d9a597f3a195b0b0c0ff8cf1e2445ca12e
响应:8dfb75298185cbcc4b2d485fdb4f25627f7aeb4dd41329076b5015586e4d56cfe2c56f12cd9852c447904210117b41fe2672b24d7e82fd581ad5a0983b501b5bcbe97d65dbbe770dbdc4a98e80d2966a71ecd0041a5282283bff853d70caf7aed671bc9c9d4bedf6d1d0294394861af40f195d68a965d957d53c78aa50ada3afc65d1a526c54648e6e081e8f7f7ab1c31b9f75916170e638b0b9216d30204864afe3a7a1bc8a6563bf44daf6a29e27c19f798c4f82dbb904ea4aa4fcc87a82226d9bf3e891ecb97b94263064fec025e3aa7c440d7c0e8ed559b84ae2438ec0fc438444a03c992883170ecdde20e08552efcf9d584de469930b27c81f946548d5c6e63e815671182b03b5e6e622ddb10a3f6a35ad3f44ec247a3b2dee0e936020d48efb7abc2d2abfb555f61d54c85eca
{"machineId":"dba5c0f908f92fbdb6f0a3f58a5a3193","isRegistered":true,"registeredModules":[1,3,4,9,10,11,12,13,17,25,30,33,37],"modules":[{"id":1,"name":"wms","group":"GISServer","title":"动态地图服务"},{"id":3,"name":"tms","group":"GISServer","title":"瓦片地图服务"},{"id":9,"name":"wfs","group":"GISServer","title":"要素服务"},{"id":12,"name":"wns","group":"GISServer","title":"网络分析服务"},{"id":13,"name":"geocode","group":"GISServer","title":"地理编码服务"},{"id":17,"name":"wcs","group":"GISServer","title":"栅格服务"},{"id":25,"name":"c3d","group":"GISServer","title":"三维模型服务"},{"id":30,"name":"cts","group":"GISServer","title":"三维地形服务"},{"id":33,"name":"cimservice","group":"CIMSuite","title":"语义模型服务"},{"id":37,"name":"websdk","group":"WEBSDK","title":"WEBSDK"},{"id":38,"name":"pw","group":"Parallelworld","title":" Parallelworld"},{"id":50,"name":"ext","group":"extension","title":"extension"}],"expireDate":1668486201730,"isFloating":true,"floatServerIp":"192.168.20.106","floatServerPort":12316,"message":"OK","success":true}
{"id":"dba5c0f908f92fbdb6f0a3f58a5a3193","expireDate":"2023-01-17","localId":"192.168.20.106|E0-70-EA-AA-B6-43","availableNum":12,"time":1668394770458,"licenseCode":"78a82f0920de0f557f8177bec1e48601c4dc25e4054a00728e4314b56528d3a1632de5298edee38a65412277977a174fea5d91c452b19ef138dbc2ba089ba632"}
------------------------------------------------------------------------------------------------ æƒé™
------------------------------------------------------------------------------- æƒé™
管道基础大数据平台:           åˆ é™¤
综合展示\综合展示\查询:       ä¸‹è½½ã€ä¸Šä¼ 
综合展示\综合展示\标绘:       æ–°å¢žã€ä¿®æ”¹ã€åˆ é™¤
@@ -207,88 +130,39 @@
运维管理\运维监控\令牌管理:   æ–°å¢žã€ä¿®æ”¹ã€åˆ é™¤
运维管理\运维监控\黑白/名单:  æ–°å¢žã€ä¿®æ”¹ã€åˆ é™¤
运维管理\系统配置:           ä¿®æ”¹
----------------------------------------------------------------------------------------------------
// èŽ·å–è¯·æ±‚æ–¹å¼: GET
String getMethod()
------------------------------------------------------------------------------- Java Web操作
String getMethod() // èŽ·å–è¯·æ±‚æ–¹å¼: GET
// èŽ·å–è™šæ‹Ÿç›®å½•(上下文目录):虚拟路径通过在application配置当中可以配置
// é…ç½®ï¼šserver.servlet.context-path=/aaa
String getContextPath()
// èŽ·å–Servlet路径:就是获取的controller当中配置的路径
String getServletPath()
/// èŽ·å–è¯·æ±‚å‚æ•°ï¼š id=3
// http://localhost:8080/aaa/test?id=3
String getQueryString()
String getContextPath() // é…ç½®ï¼šserver.servlet.context-path=/aaa
String getServletPath() // èŽ·å–Servlet路径:就是获取的controller当中配置的路径
String getQueryString() // http://localhost:8080/aaa/test?id=3,获取请求参数: id=3
// èŽ·å–è¯·æ±‚URI:/servletDemo/demo1
// ä¸Šä¸‹æ–‡è·¯å¾„+controller当中配置的路径
String getRequestURI()
String getRequestURI() // ä¸Šä¸‹æ–‡è·¯å¾„+controller当中配置的路径
String getRequestURL() // èŽ·å–å®Œæ•´è¯·æ±‚è·¯å¾„ï¼šhttp://localhost:8080/aaa/test
String getProtocol() // èŽ·å–åè®®åŠç‰ˆæœ¬ï¼šHTTP/1.1
String getRemoteAddr() // èŽ·å–å®¢æˆ·æœºçš„IP地址:192.168.0.0
String getHeader(String name) // èŽ·å–è¯·æ±‚å¤´æ•°æ®,通过请求头名称获取值
Enumeration<String> getHeaderNames() // èŽ·å–æ‰€æœ‰è¯·æ±‚å¤´ä¿¡æ¯
BufferedReader getReader() // èŽ·å–æµå¯¹è±¡-获取字符输入流,只能操作字符数据
ServletInputStream getInputStream() // èŽ·å–æµå¯¹è±¡-获取字节输入流,既能操作字节也能操作字符
// èŽ·å–å®Œæ•´è¯·æ±‚è·¯å¾„ï¼šhttp://localhost:8080/aaa/test
String getRequestURL()
// èŽ·å–åè®®åŠç‰ˆæœ¬ï¼šHTTP/1.1
String getProtocol()
// èŽ·å–å®¢æˆ·æœºçš„IP地址:192.168.0.0
String getRemoteAddr()
// èŽ·å–è¯·æ±‚å¤´æ•°æ®,通过请求头名称获取值
String getHeader(String name)
// èŽ·å–æ‰€æœ‰è¯·æ±‚å¤´ä¿¡æ¯
Enumeration<String> getHeaderNames()
// èŽ·å–æµå¯¹è±¡-获取字符输入流,只能操作字符数据
BufferedReader getReader()
// èŽ·å–æµå¯¹è±¡-获取字节输入流,既能操作字节也能操作字符
ServletInputStream getInputStream()
// èŽ·å–è¯·æ±‚å‚æ•°é€šç”¨æ–¹å¼(根据参数名称获取参数值) username=zhangsan
String getParameter(String name)
// èŽ·å–è¯·æ±‚å‚æ•°åç§°èŽ·å–å‚æ•°å€¼çš„æ•°ç»„ hobby=xx&hobby=game
String[] getParameters(String name)
// èŽ·å–è¯·æ±‚å‚æ•°åç§°(与获取请求头方法类似)
Enumeration<String> getParameterNames()
// èŽ·å–æ‰€æœ‰å‚æ•°çš„Map集合
Map<String,String> getParameterMap()
String getParameter(String name) // èŽ·å–è¯·æ±‚å‚æ•°é€šç”¨æ–¹å¼(根据参数名称获取参数值) username=zhangsan
String[] getParameters(String name) // èŽ·å–è¯·æ±‚å‚æ•°åç§°èŽ·å–å‚æ•°å€¼çš„æ•°ç»„ hobby=xx&hobby=game
Enumeration<String> getParameterNames() // èŽ·å–è¯·æ±‚å‚æ•°åç§°(与获取请求头方法类似)
Map<String,String> getParameterMap() // èŽ·å–æ‰€æœ‰å‚æ•°çš„Map集合
request.setCharacterEncoding("UTF-8");
RequestDispatcher getRequestDispatcher(String path); // é€šè¿‡request对象获取请求转发服务器:
// é€šè¿‡request对象获取请求转发服务器:
RequestDispatcher getRequestDispatcher(String path);
// ä½¿ç”¨==RequestDispatcher对象来进行转发
forward(ServlertRequest request,ServletResponse response);
//设置状态码
response.setStatus(304);
forward(ServlertRequest request,ServletResponse response); // ä½¿ç”¨==RequestDispatcher对象来进行转发
response.setStatus(304); //设置状态码
// è®¾ç½®æŒ‡å®šåç§°å“åº”头的值,下面是导出的时候我们经常要设置的响应头,响应头当中还有文件的名称,也就是通过流下载文件的时候那个文件名称
response.setHeader("Content-Disposition", "attachment;filename=" + zipName);
// 1.字符输出流
PrintWriter getWriter()
// 2.字节输出流(一般导出就是将文件写到字节流,然后响应response)
ServletOutputStream getOutputStream()
PrintWriter getWriter() // 1.字符输出流
ServletOutputStream getOutputStream() // 2.字节输出流(一般导出就是将文件写到字节流,然后响应response)
// æ³¨æ„ï¼šåœ¨åŒä¸€ä¸ªServlet,二种输出流不能同时使用,产生互斥
// response提供了专门负责重定向的方法
response.sendRedirect("/项目地址/资源地址");
// æŒ‡å®šæœåŠ¡å™¨å“åº”ä¸­æ–‡çš„ç¼–ç æ–¹å¼
response.setCharacterEncoding("GBK");
// ç»Ÿä¸€æœåŠ¡å™¨å’Œå®¢æˆ·ç«¯çš„ç¼–ç æ–¹å¼
response.setContentType("text/html;charset=utf-8");
response.sendRedirect("/项目地址/资源地址"); // response提供了专门负责重定向的方法
response.setCharacterEncoding("GBK"); // æŒ‡å®šæœåŠ¡å™¨å“åº”ä¸­æ–‡çš„ç¼–ç æ–¹å¼
response.setContentType("text/html;charset=utf-8"); // ç»Ÿä¸€æœåŠ¡å™¨å’Œå®¢æˆ·ç«¯çš„ç¼–ç æ–¹å¼
// å¯¼å‡ºçš„æ—¶å€™å¦‚果需要直接通过response流导出Excel,需要和前端设置上下文类型,如下:
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
----------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------