我有一个返回多行的查询,另一个查询,其中我想将条件设置为这些多行中的值之一,所以基本上我希望子查询看起来像这样:
select *
from table
where id= (multiple row query);
Run Code Online (Sandbox Code Playgroud)
其中multiple row query返回多行.因此,如果这些行的值是1,2,3,那么我想将id设置为1或2或3.
我使用 jdk 8 制作了一个 java 应用程序,然后从 jar 制作了一个可执行文件。
然后我将我的系统更新到 java 11,并从我的系统中删除了所有旧的 java 版本,当我从 exe 文件运行这个应用程序时,它无法运行并带我到网络浏览器并要求我下载 java 8。但是如果我运行 jar 使用java -jar app.jar它在 java 11 上正常运行。
我已经使用launch4j从jar中制作了一个exe文件,并且不可能选择java 11作为最新版本。
那么如何让这个 exe 在 java 11 上运行呢?
我们已经使用一些组织的API有一段时间了,但现在他们开始使用OAuth2进行身份验证。他们的 API 完全由我们的应用程序以编程方式使用。所以现在我们必须使用 OAuth2 进行身份验证,以便我们可以再次使用他们的 API。
我对这个身份验证过程有点困惑。有没有一种方法可以通过编程方式使用 OAuth 进行身份验证?它说,在对用户进行身份验证时,将要求用户先登录,然后再继续进行身份验证,如何仅通过代码实现这种登录?或者您是否需要首先使用浏览器进行身份验证,然后使用访问令牌来处理来自应用程序的进一步请求。该场景下OAuth2认证的典型流程是怎样的?
编辑:只有一个用户是我们的应用程序用于访问其数据的帐户。该用户最终注册为 API 的使用者。
我使用 log4j2 进行以下配置的日志记录:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Appenders>
<Console name="LogToConsole" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<File name="LogToFile" fileName="tomcat.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Logger name="com.say" level="info" additivity="false">
<AppenderRef ref="LogToFile"/>
<AppenderRef ref="LogToConsole"/>
</Logger>
<Logger name="org.springframework.boot" level="error" additivity="false">
<AppenderRef ref="LogToConsole"/>
</Logger>
<Root level="error">
<AppenderRef ref="LogToFile"/>
<AppenderRef ref="LogToConsole"/>
</Root>
</Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,与定义将写入日志的文件相关的行是:
<File name="LogToFile" fileName="tomcat.log">
Run Code Online (Sandbox Code Playgroud)
这样我在项目文件夹中找不到任何日志。当我使用绝对路径时,我成功地生成了日志文件,但我希望它基于项目路径,并且我已经看到了该路径的示例,例如:logs/app.log所以我想可以设置它,我只是不确定为什么它对我不起作用。
这是一个在 ubuntu 16.04 上运行的 spring boot 项目。
我想抓取一个网站,但是当我Jsoup.connect(url)仅使用页面的一部分连接到该网站时。
当我将页面下载为html时,我看到页面的一部分中只有一个加载器图标,因此我得出结论,页面的那一部分是后来从其他来源加载的。
有趣的是,inspect元素包含缺少的html,而视图页面源不包含。从jSoup加载的HTML与从“查看页面源”中打开的HTML基本相同。
有没有一种方法可以绕过此过程并加载浏览器中显示的整个页面?
有问题的页面是这样的:https : //www.oddsportal.com/tennis/australia/atp-australian-open-2017/results/page/1/
询问我可以提供的其他信息。
===============
编辑:我正在连接到这样的网址:
Document doc = null;
try {
doc = Jsoup.connect(url).get();
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我正在使用CSS选择器获取此div:
Elements tournamentTable = doc.select("div[id=tournamentTable]");
Run Code Online (Sandbox Code Playgroud)
的内容tournamentTable是<div id="tournamentTable"></div>
我必须创建一个具有int成员的类,该成员对于该类的每个对象都是唯一的.所以:
public class Cls {
private int id;
public Cls(){id = unique number;}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我创建x个Cls对象时,我必须确保没有类具有相同的id.但我想避免在main中创建全局变量,并逐个设置id.如果可能,如果可以在构造函数中设置id,那将是很好的.
我想写这个查询:
SELECT * FROM products
WHERE name LIKE '%?%'
OR description LIKE '%?%'
Run Code Online (Sandbox Code Playgroud)
并在Spring Web应用程序中通过java执行它.但是这里的问题是当我使用LIKEoperator时它必须是文字,但是当我写'%?%'java时不能识别?像参数的占位符,当我添加参数时,我得到错误,我的查询中没有参数.
此外,如果我%?%没有文字写,我会得到语法错误.
我有一个返回多行的选择查询,我想检查所有行是否相同.所以像这样:
anything_other_than(123) in (select id from foo)
Run Code Online (Sandbox Code Playgroud)
因此,如果select id from foo返回111,222,123,333上面的语句是false,并且select id from foo返回123,123,123它是真的.我怎样才能做到这一点?
我有以下情况:
我在javascript中编写了一个包含撇号字符的字符串.该字符串实际上是html代码,稍后使用innerHTML方法附加到html .所以代码看起来像这样:
var str = '<a href="javascript:foo("ba'r")">link</a>'; (argument of the foo function is string)
Run Code Online (Sandbox Code Playgroud)
之后,这个字符串被插入到一些html元素中,如下所示:
dataHolder.innerHTML = str;
Run Code Online (Sandbox Code Playgroud)
我试图逃跑'与性格','和\u0027而所有这一切都渲染成'之后innerHTML方法被调用,所以当方法foo从上面的例子可以通过点击链接叫我总是得到JavaScript错误说:Uncaught SyntaxError: missing ) after argument list
java ×6
mysql ×2
sql ×2
html ×1
java-11 ×1
javascript ×1
jsoup ×1
launch4j ×1
log4j ×1
log4j2 ×1
meetup ×1
oauth ×1
oauth-2.0 ×1
postgresql ×1
spring ×1
web-crawler ×1
web-scraping ×1