- Session与Cookie的区别
李蕴Ronnie
1.存储位置不同Cookie的数据信息存放在客户端浏览器上Session的数据信息存放在服务器上2.存储容量不同单个Cookie保存的数据<=4kb,一个站点最多保存20个CookieSession容量没有上限,但出于对服务器端的性能考虑,Session内不要存放过多的东西,并且要设置Session删除机制3.存取方式不同
- Session、Cookies 和 Token 的关系详解
胡耀超
java面试常见问题java服务器数据库spring
前置博客:Session和Cookies的区别详解Session、Cookies和Token的关系详解在Web应用程序的身份认证和状态管理中,除了Session和Cookies,Token(特别是JSONWebToken,JWT)也经常用于用户身份验证。它们在身份认证过程中有一定的关系与区别。为了更好地理解三者之间的关系,我将详细分析它们的工作方式和适用场景,并探讨如何结合使用来构建一个健全的认证
- 「 网络安全常用术语解读 」同源策略SOP详解:没有SOP就没有隐私
全栈安全
安全术语web安全安全术语
同源策略可保护用户的隐私和数据安全,防止恶意网站通过跨域请求(例如,通过JavaScript)访问或修改其他网站的数据。1.同源策略产生背景当浏览器从一个域发送一个HTTP请求到另一个域时,与另一个域相关的任何cookies,包括身份验证会话cookie,也会作为请求的一部分发送。如果没有同源策略,如果你访问一个恶意网站,该网站将能够读取你的电子邮件、私人消息等。2.同源策略定义同源策略(Same
- 利用selenium获取cookies,实现浏览器免登陆自动化操作
crownyouyou
seleniumpythonchrome自动化
###一、设置默认源为国内的清华源(不想设置可跳过一)#查看pip安装源pipconfiglist#清华源pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple###二、下载json。(如果下载好json,可以跳过二)如果没下载json,可以使用pip下载pipinstalljson-i https://pypi.t
- leetcode--greedy
NOTEBOOK2
BestTimetoBuyandSellStockIIclassSolution{publicintmaxProfit(int[]prices){int[]deltas=newint[prices.length];for(inti=0;i0)ret+=v;}returnret;}}AssignCookiesclassSolution{publicintfindContentChildren(int
- 2019-07-16 Python接口测试实现获取登陆后的cookie访问下个接口
昨天今天下雨天1
coding:utf-8importrequestsurl="你的登陆接口"par={"mobile":"13225811329","passwd":"ws123456","from":"ios"}r=requests.post(url,data=par)s=requests.session()print(r.cookies)获取登录后的cookiecookies=r.cookiesurl1="你
- 前端中localStorage,sessionStorage,Cookies的区别
abytecoder
java
`localStorage`,`sessionStorage`,和`Cookies`是前端常用的存储数据的方式,它们之间有一些重要的区别:1.**作用范围**:-`localStorage`:数据存储在浏览器的本地,不会过期,除非手动清除或代码清除。-`sessionStorage`:数据在当前会话期间有效,关闭标签页或浏览器后数据将被清除。-`Cookies`:存储在客户端并随每个HTTP请求发
- JS 笔记
陈两全
javascript笔记前端
9.11.JS1.1.概念JavaScript是用于实现用户交互、动态控制文档的外观和内容、动态控制浏览器操作、创建cookies等网页行为的跨平台、跨浏览器的由浏览器解释执行的客户端脚本语言1.2.用途1.表单客户端验证;2.动态HTML(DHTML):不需要人为介入,就能自动实现动画效果。3.用户交互的动画效果:需要鼠标和键盘介入的动画效果4.动态添加一些网页内容5.动态的获取和改变html元
- Python之selenium,使用webdriver模拟登录网站(含验证码)
自动化测试 老司机
软件测试自动化测试pythonselenium功能测试压力测试测试工具程序人生
一、前言前段时间做了一个小项目,其中有一段需要自动获取网站后台的数据,但是这个网站没有任何提供给开发者的API,所以只能靠自己去探索。起初想着用发送请求的方式去模拟登陆,获取cookies,从而再获取网站后台数据,但是因为自己太菜了一些原因,放弃了这个方法。后来想到使用webdriver调用浏览器来模拟登陆,发现操作起来简单很多,而且可以达到同样的效果,于是便有了这篇文章。二、准备工作需要下载和安
- Python爬虫核心面试题2
闲人编程
程序员面试python爬虫开发语言面试网络HTTP
网络爬虫1.什么是HTTP协议?它有哪些常见的请求方法?2.在进行网络爬虫时,如何判断一个网站是否允许被爬取?3.在使用HTTP请求时,如何处理重定向?4.解释HTTP状态码200、404、500的含义。5.什么是Session?如何在爬虫中保持Session?6.在爬虫中,如何处理Cookies?7.解释什么是SSL/TLS?如何在爬虫中处理SSL证书验证?8.如何处理请求超时?9.什么是HTT
- springboot+shiro前后端分离过程中跨域问题、sessionId问题、302鉴权失败问题
DN金猿
springboot后端javashiro前后端分离
近期项目需要前后端分离,由于前后端分离后原来的适用的shiro配置无法满足现有系统要求。同时在前后端项目分离的项目中存在的跨域问题,cookies不再使用,通过token方式实现用户登陆鉴权。下面记录在整个过程中涉及的几个大问题:1、跨域问题2、sessionId问题3、302鉴权问题1、springboot跨域问题解决packagenet.sinorock.aj.common.config;im
- WebKit 的 Web SQL 数据库:现代浏览器的本地存储解决方案
2401_85763639
数据库前端webkit
WebKit的WebSQL数据库:现代浏览器的本地存储解决方案随着Web应用的不断发展,对本地存储的需求也日益增加。WebKit作为许多现代浏览器的核心引擎,提供了一种强大的本地存储解决方案:WebSQL数据库。本文将详细探讨WebSQL数据库的工作原理、支持情况以及如何利用它进行数据存储和检索。引言在Web开发中,数据存储是一个重要的环节。传统的解决方案如Cookies和LocalStorage
- php cookie刷新才有效,为什么设置了cookie必须刷新页面才有效?
weixin_39688870
phpcookie刷新才有效
1、Cookie工作原理?当客户访问某个基于PHP技术的网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在C:\DocumentsandSettings\用户名\Cookies目录下。cookie是HTTP标头的一部分,因此setcookie函数必须在任何内容送到浏览器之前调用。这种限制与header()函数一样(如需了解head
- php怎么清空cookies,php cookie如何清除
樊愚
php怎么清空cookies
phpcookie的清除方法:首先创建一个PHP示例文件;然后通过setcookie创建cookie;最后通过“setcookie('test','',time()-3600);”方法清除建立的cookie即可。推荐:《PHP视频教程》本教程操作环境:windows7系统、PHP5.6版,该方法适用于所有品牌电脑。PHP清除COOKIE,PHP无法删除COOKIE?设置COOKIE有效期、COOK
- PHP Cookie
lly202406
开发语言
PHPCookieCookies是在Web开发中常用的一种技术,用于在用户浏览器中存储少量数据。在PHP中,Cookies用于跟踪用户的浏览行为,记录用户的偏好设置,或者在没有数据库支持的情况下存储用户信息。本文将详细介绍PHP中如何创建、读取、修改和删除Cookies。什么是Cookie?Cookie是一个存储在用户计算机上的小型文本文件,由Web服务器生成,并保存在用户的浏览器中。每当用户访问
- iOS 关于 Cookie 验证登录状态
路飞_Luck
1.第一次进入应用第一次进入应用,登录获取Cookie,此时如果用到的是AFN取获取接口数据,Cookie已经写入了,所以无需处理,每次请求的时候,会自动将该cookie传给后台去验证.2.将Cookie缓存到本地NSData*cookiesData=[NSKeyedArchiverarchivedDataWithRootObject:[[NSHTTPCookieStoragesharedHTTP
- 某麦网自动刷新抢票脚本——手机端
AALoveTouch
python
某麦网自动刷新抢票脚本——手机端小白操作-抵制黄牛–需要更好用更高级关注获取侵权删主要方法:get_cookie:打开大麦网官网,引导用户登录并保存登录后的cookies。set_cookie:载入之前保存的cookies,以实现自动登录。login:访问目标购票页面并设置cookie。enter_concert:根据提供的配置和参数打开浏览器,进入大麦网并登录,如果cookies不存在则获取并保
- 2024年用Python制作一个自动抢票脚本_python抢票脚本
2401_84563220
程序员python开发语言
self.driver.get(target_url)####获取cookiedefget_cookie(self):try:cookies=pickle.load(open(“cookies.pkl”,“rb”))#载入cookieforcookieincookies:cookie_dict={‘domain’:‘.damai.cn’,#必须有,不然就是假登录‘name’:cookie.get(
- Charles使用简介
mah93
简介Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器.它允许一个开发者查看所有连接互联网的HTTP通信.这些包括request,response现HTTPheaders(包含cookies与caching信息).Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。可以在Charles官网下载(该软件为付
- Node.js开发-会话控制
中二Espresso
Node.js开发node.js
会话控制1)介绍2)cookie3)session4)session和cookie的区别5)token1)介绍所谓会话控制就是对会话进行控制HTTP是一种无状态的协议,它没有办法区分多次的请求是否来自于同一个客户端,无法区分用户而产品中又大量存在的这样的需求,所以我们需要通过会话控制来解决该问题常见的会话控制技术有三种:cookiesessiontoken2)cookiecookie是什么cook
- HTTP查阅手册地址
iuiyiyut
https://developer.mozilla.org/zh-CN/docs/Web/HTTP教程HTTP概述HTTP缓存HTTPcookiesHTTP访问控制(CORS)HTTP的演变Mozillaweb安全引导HTTP消息典型的HTTP会话HTTP/1.x中的连接管理参考文档HTTP首部HTTP请求方法HTTP状态返回码CSP指令工具与资源Firefox开发者工具MozillaObserv
- python提取字典数字_python cookies提取——从字符串到字典(一行Python代码)
weixin_39724362
python提取字典数字
defextract_cookies(cookie):"""从浏览器或者requestheaders中拿到cookie字符串,提取为字典格式的cookies"""cookies=dict([l.split("=",1)forlincookie.split(";")])returncookiesif__name__=="__main__":cookie="continue=http://www.bj
- axios.defaults.withCredentials = true 前端跨域传递Cookie设置
夏目友人帐...
vuecookiesession
登录之后的请求会带登录用户信息,需要把登录时的cookie设置到之后的请求头里面。而跨域请求要想带上cookie,必须要请求属性withCredentials=true,这是浏览器的同源策略导致的问题:不允许JS访问跨域的Cookie。withCredentials属性是一个Boolean类型,它指示了是否该使用类似cookies,authorization,headers(头部授权)或者TLS客
- Python requests模块 快速入门 这篇就够了
碎像
python开发语言
目录一、Requests概述二、安装Requests三、Get请求3.1Get请求示例3.2Get请求爬取二进制数据四、Post请求4.1Post请求示例4.2发送JSON数据五、验证Cookies六、会话请求一、Requests概述Requests是一个流行的Python第三方库,它专为HTTP通信而设计,旨在使网络请求更加简单和人性化。以下是关于Requests的概述:简单易用:Request
- 逆向模拟登录
林小果呀
python爬虫爬虫逆向
文章目录逆向模拟登录案例介绍滑块验证思路分析代码实现加密函数获取uid与cookies构建slideInfo并加密模拟完成滑块验证结果获取验证码思路分析代码整合获取bella发送请求代码总结登录逆向模拟登录案例介绍网站:https://user.qunar.com/passport/login.jsp用爬虫模拟完成滑块验证+获取验证码并登录滑块验证思路分析1)抓包可得在发送验证码前需要先完成滑动验
- cookies在chrome80版本上跨站发送失败
前端架构师陈龙威
原文冴羽大佬的github:https://github.com/mqyqingfeng/Blog/issues/157前言chrome80版本发布时间大概是2020年2月7日,其中更新了默认屏蔽第三方的cookie。这个事件当时造成了多困扰,很多iframe嵌套的内容,用户第三方授权,用户行为追踪等都受到了限制,淘宝还专门成立了问题小组来解决这个问题。情形天猫和飞猪的页面靠请求淘宝域名下的接口获
- Chrome开发者工具(DevTools)学习
盼旺
调出开发工具右键-检查9大功能图禁用缓存切换到Network网络面板勾选Disablecache项手动清理网站缓存1.Ctrl+shift+p弹出命令输入框2.输入clearsitedata此操作能清空Cookies、WebSQL、ServiceWorkers、CacheStorage、IndexedDB、LocalStorage、ApplicationCache展开某标签下所有层级的标签1.切换
- 360网络安全面试题汇总
Lyx-0607
笔记
防范常见的Web攻击重要协议分布层arp协议的工作原理rip协议是什么?rip的工作原理什么是RARP?工作原理OSPF协议?OSPF的工作原理TCP与UDP区别总结什么是三次握手四次挥手?tcp为什么要三次握手?dns是什么?dns的工作原理一次完整的HTTP请求过程Cookies和session区别GET和POST的区别HTTPS和HTTP的区别session的工作原理?http长连接和短连接
- Web UI自动化-获取接口返回数据
Jalinyz
场景:在进行UI自动化测试时解决验证码进行登录的方法有很多,比如:设置万能验证码手动登录后设置cookies绕过免登录进行切图,使用pytesseract和pillow实现验证码识别(这个只能解决一些不太复杂的验证码问题,识别率很低)切图后调用第三方AI库识别验证码(识别率高但是要花钱~~)除了以上我们常用的方法之外,这里给大家介绍另外一种方法,通过获取接口返回数据拿到验证码code解决:使用Br
- 某黑马magnet搜索接口
不脱发的码农~~~~
爬虫案例分享人工智能
importrequestscookies={'JSESSIONID':'ACC5D9245FC54596A57C4486CF2C0EA9','HstCfa4602665':'1707702051444','HstCla4602665':'1707702051444','HstCmu4602665':'1707702051444','HstPn4602665':
- ztree设置禁用节点
3213213333332132
JavaScriptztreejsonsetDisabledNodeAjax
ztree设置禁用节点的时候注意,当使用ajax后台请求数据,必须要设置为同步获取数据,否者会获取不到节点对象,导致设置禁用没有效果。
$(function(){
showTree();
setDisabledNode();
});
- JVM patch by Taobao
bookjovi
javaHotSpot
在网上无意中看到淘宝提交的hotspot patch,共四个,有意思,记录一下。
7050685:jsdbproc64.sh has a typo in the package name
7058036:FieldsAllocationStyle=2 does not work in 32-bit VM
7060619:C1 should respect inline and
- 将session存储到数据库中
dcj3sjt126com
sqlPHPsession
CREATE TABLE sessions (
id CHAR(32) NOT NULL,
data TEXT,
last_accessed TIMESTAMP NOT NULL,
PRIMARY KEY (id)
);
<?php
/**
* Created by PhpStorm.
* User: michaeldu
* Date
- Vector
171815164
vector
public Vector<CartProduct> delCart(Vector<CartProduct> cart, String id) {
for (int i = 0; i < cart.size(); i++) {
if (cart.get(i).getId().equals(id)) {
cart.remove(i);
- 各连接池配置参数比较
g21121
连接池
排版真心费劲,大家凑合看下吧,见谅~
Druid
DBCP
C3P0
Proxool
数据库用户名称 Username Username User
数据库密码 Password Password Password
驱动名
- [简单]mybatis insert语句添加动态字段
53873039oycg
mybatis
mysql数据库,id自增,配置如下:
<insert id="saveTestTb" useGeneratedKeys="true" keyProperty="id"
parameterType=&
- struts2拦截器配置
云端月影
struts2拦截器
struts2拦截器interceptor的三种配置方法
方法1. 普通配置法
<struts>
<package name="struts2" extends="struts-default">
&
- IE中页面不居中,火狐谷歌等正常
aijuans
IE中页面不居中
问题是首页在火狐、谷歌、所有IE中正常显示,列表页的页面在火狐谷歌中正常,在IE6、7、8中都不中,觉得可能那个地方设置的让IE系列都不认识,仔细查看后发现,列表页中没写HTML模板部分没有添加DTD定义,就是<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3
- String,int,Integer,char 几个类型常见转换
antonyup_2006
htmlsql.net
如何将字串 String 转换成整数 int?
int i = Integer.valueOf(my_str).intValue();
int i=Integer.parseInt(str);
如何将字串 String 转换成Integer ?
Integer integer=Integer.valueOf(str);
如何将整数 int 转换成字串 String ?
1.
- PL/SQL的游标类型
百合不是茶
显示游标(静态游标)隐式游标游标的更新和删除%rowtyperef游标(动态游标)
游标是oracle中的一个结果集,用于存放查询的结果;
PL/SQL中游标的声明;
1,声明游标
2,打开游标(默认是关闭的);
3,提取数据
4,关闭游标
注意的要点:游标必须声明在declare中,使用open打开游标,fetch取游标中的数据,close关闭游标
隐式游标:主要是对DML数据的操作隐
- JUnit4中@AfterClass @BeforeClass @after @before的区别对比
bijian1013
JUnit4单元测试
一.基础知识
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次
- 精通Oracle10编程SQL(12)开发包
bijian1013
oracle数据库plsql
/*
*开发包
*包用于逻辑组合相关的PL/SQL类型(例如TABLE类型和RECORD类型)、PL/SQL项(例如游标和游标变量)和PL/SQL子程序(例如过程和函数)
*/
--包用于逻辑组合相关的PL/SQL类型、项和子程序,它由包规范和包体两部分组成
--建立包规范:包规范实际是包与应用程序之间的接口,它用于定义包的公用组件,包括常量、变量、游标、过程和函数等
--在包规
- 【EhCache二】ehcache.xml配置详解
bit1129
ehcache.xml
在ehcache官网上找了多次,终于找到ehcache.xml配置元素和属性的含义说明文档了,这个文档包含在ehcache.xml的注释中!
ehcache.xml : http://ehcache.org/ehcache.xml
ehcache.xsd : http://ehcache.org/ehcache.xsd
ehcache配置文件的根元素是ehcahe
ehcac
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
白糖_
javaeclipsespringtomcatWeb
今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
随后启动
- angular.element
boyitech
AngularJSAngularJS APIangular.element
angular.element
描述: 包裹着一部分DOM element或者是HTML字符串,把它作为一个jQuery元素来处理。(类似于jQuery的选择器啦) 如果jQuery被引入了,则angular.element就可以看作是jQuery选择器,选择的对象可以使用jQuery的函数;如果jQuery不可用,angular.e
- java-给定两个已排序序列,找出共同的元素。
bylijinnan
java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CommonItemInTwoSortedArray {
/**
* 题目:给定两个已排序序列,找出共同的元素。
* 1.定义两个指针分别指向序列的开始。
* 如果指向的两个元素
- sftp 异常,有遇到的吗?求解
Chen.H
javajcraftauthjschjschexception
com.jcraft.jsch.JSchException: Auth cancel
at com.jcraft.jsch.Session.connect(Session.java:460)
at com.jcraft.jsch.Session.connect(Session.java:154)
at cn.vivame.util.ftp.SftpServerAccess.connec
- [生物智能与人工智能]神经元中的电化学结构代表什么?
comsci
人工智能
我这里做一个大胆的猜想,生物神经网络中的神经元中包含着一些化学和类似电路的结构,这些结构通常用来扮演类似我们在拓扑分析系统中的节点嵌入方程一样,使得我们的神经网络产生智能判断的能力,而这些嵌入到节点中的方程同时也扮演着"经验"的角色....
我们可以尝试一下...在某些神经
- 通过LAC和CID获取经纬度信息
dai_lm
laccid
方法1:
用浏览器打开http://www.minigps.net/cellsearch.html,然后输入lac和cid信息(mcc和mnc可以填0),如果数据正确就可以获得相应的经纬度
方法2:
发送HTTP请求到http://www.open-electronics.org/celltrack/cell.php?hex=0&lac=<lac>&cid=&
- JAVA的困难分析
datamachine
java
前段时间转了一篇SQL的文章(http://datamachine.iteye.com/blog/1971896),文章不复杂,但思想深刻,就顺便思考了一下java的不足,当砖头丢出来,希望引点和田玉。
-----------------------------------------------------------------------------------------
- 小学5年级英语单词背诵第二课
dcj3sjt126com
englishword
money 钱
paper 纸
speak 讲,说
tell 告诉
remember 记得,想起
knock 敲,击,打
question 问题
number 数字,号码
learn 学会,学习
street 街道
carry 搬运,携带
send 发送,邮寄,发射
must 必须
light 灯,光线,轻的
front
- linux下面没有tree命令
dcj3sjt126com
linux
centos p安装
yum -y install tree
mac os安装
brew install tree
首先来看tree的用法
tree 中文解释:tree
功能说明:以树状图列出目录的内容。
语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式
- Map迭代方式,Map迭代,Map循环
蕃薯耀
Map循环Map迭代Map迭代方式
Map迭代方式,Map迭代,Map循环
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年
- Spring Cache注解+Redis
hanqunfeng
spring
Spring3.1 Cache注解
依赖jar包:
<!-- redis -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
- Guava中针对集合的 filter和过滤功能
jackyrong
filter
在guava库中,自带了过滤器(filter)的功能,可以用来对collection 进行过滤,先看例子:
@Test
public void whenFilterWithIterables_thenFiltered() {
List<String> names = Lists.newArrayList("John"
- 学习编程那点事
lampcy
编程androidPHPhtml5
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
- 架构师之流处理---------bytebuffer的mark,limit和flip
nannan408
ByteBuffer
1.前言。
如题,limit其实就是可以读取的字节长度的意思,flip是清空的意思,mark是标记的意思 。
2.例子.
例子代码:
String str = "helloWorld";
ByteBuffer buff = ByteBuffer.wrap(str.getBytes());
Sy
- org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1, column 1
Everyday都不同
$转义el表达式
最近在做Highcharts的过程中,在写js时,出现了以下异常:
严重: Servlet.service() for servlet jsp threw exception
org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1,
- 用Java实现发送邮件到163
tntxia
java实现
/*
在java版经常看到有人问如何用javamail发送邮件?如何接收邮件?如何访问多个文件夹等。问题零散,而历史的回复早已经淹没在问题的海洋之中。
本人之前所做过一个java项目,其中包含有WebMail功能,当初为用java实现而对javamail摸索了一段时间,总算有点收获。看到论坛中的经常有此方面的问题,因此把我的一些经验帖出来,希望对大家有些帮助。
此篇仅介绍用
- 探索实体类存在的真正意义
java小叶檀
POJO
一. 实体类简述
实体类其实就是俗称的POJO,这种类一般不实现特殊框架下的接口,在程序中仅作为数据容器用来持久化存储数据用的
POJO(Plain Old Java Objects)简单的Java对象
它的一般格式就是
public class A{
private String id;
public Str