我有简单的 Spring Boot 应用程序,它作为独立应用程序运行。我开始使用在线指南转换为 WAR。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.4.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
bootRun {
addResources = true
}
war {
baseName = 'simulator'
version = '1.0.0'
}
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-freemarker")
compile group: 'org.freemarker', name: 'freemarker', version: '2.3.23'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
testCompile('org.springframework.boot:spring-boot-starter-test')
}
Run Code Online (Sandbox Code Playgroud)
初始化程序:
@SpringBootApplication
public class Application extends SpringBootServletInitializer { …Run Code Online (Sandbox Code Playgroud) 我正在开发一个java servlet。我正在使用 glassfish 服务器 4。
最终用户通过 URL 参数向我发送信息,如下所示:
http://myIP:8080/TestProject/TestServlet?param1=test1¶m2=test2¶m3=test3
Run Code Online (Sandbox Code Playgroud)
我正在从 param1、param2 和 param3 获取值,我想将它们写入我的数据库中。如果在我的数据库中写入信息时遇到 SQL 异常,我想抛出“500 内部服务器错误”,让他们知道我有一些技术问题并重新发送他们的请求。我想知道有没有默认的方法来做到这一点,设置一些状态,显示文本......?
这是代码:
@WebServlet(urlPatterns = {"/TestServlet"}, initParams = {
@WebInitParam(name = "param1", value = ""),
@WebInitParam(name = "param2", value = ""),
@WebInitParam(name = "param3", value = "")})
public class TestServlet extends HttpServlet {
String param1;
String param2;
String param3;
boolean dbOK;
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response …Run Code Online (Sandbox Code Playgroud) 我需要在 NodeJS 中解析用户提供的日期。我发现答案指出使用内置的 Date 构造函数/解析方法并不可靠,我应该使用一些像 Moment 这样的库。我对 Moment 和 MomentJS 库感到困惑,并发现有一个具有相同界面的小型库 DaysJS。解析工作正常,但我找不到如何获取需要传递给 Mongo 的 JS Date 对象的方法。除了提取 unix 毫秒并将其传递给 Date 构造函数之外,还有其他方法吗?
当我将 daysjs 实例传递给 Mongo NodeJS 驱动程序时,它失败:
const day = dayjs('2020-01-02', 'YYYY-MM-DD');
2020-06-07 10:42:33:093 [error]: Request failedThe dollar ($) prefixed field '$L' in 'info.date.$L' is not valid for storage.
Run Code Online (Sandbox Code Playgroud)
这似乎有效:
let publishDate = new Date(1000 * dayjs().unix());
Run Code Online (Sandbox Code Playgroud)
这是daysjs与Mongo的正确方式吗?
我想将垂直柱形图转换为水平堆积条形图。我使用chartkick-vue0.61 和chart.js3.0-beta。
我当前的代码:
<column-chart :data="chartData" suffix="%"
height="200px"
:colors="[['#28a745', '#007bff', '#ffc107', '#dc3545']]">
</column-chart>
Run Code Online (Sandbox Code Playgroud)
呈现方式如下:
我找到了这个文档,但我不知道如何将其传递给chartkick-vue,所以我从单杠开始:
<bar-chart
:data="chartData"
suffix="%"
height="200px"
:colors="[['#28a745', '#007bff', '#ffc107', '#dc3545']]"
>
Run Code Online (Sandbox Code Playgroud)
但它失败了:
Error Loading Chart: "horizontalBar" is not a registered controller
Run Code Online (Sandbox Code Playgroud)
这是代码沙箱:https://codesandbox.io/s/pective-williamson-upohe
我该如何解决?
\n\nvue-cli-service build --mode staging 使用 .env、.env.staging 和 .env.staging.local(如果存在)以 staging 模式构建生产应用程序。
\n
包.json
\n"buildStaging": "vue-cli-service build --mode staging",\nRun Code Online (Sandbox Code Playgroud)\n.env.staging
\nVUE_APP_LOG_PRODUCTION_TIP=true\nRun Code Online (Sandbox Code Playgroud)\n然后
\n>npm run buildStaging\n> between-us-drivers@0.1.0 buildStaging C:\\dev\\mezinamiridici\\spa\n> vue-cli-service build --mode staging\n/ Building for staging...\nRun Code Online (Sandbox Code Playgroud)\n结果是:
\n171\xc2\xa0650 admin-chunk.js\n112\xc2\xa0650 admin-chunk.js.map\n6\xc2\xa0156\xc2\xa0774 app.js\n6\xc2\xa0008\xc2\xa0903 app.js.map\n1\xc2\xa0517\xc2\xa0776 content-chunk.js\n1\xc2\xa0434\xc2\xa0561 content-chunk.js.map\n477\xc2\xa0276 user-chunk.js\n425\xc2\xa0751 user-chunk.js.map\nRun Code Online (Sandbox Code Playgroud)\n为什么有开发版本而不是生产版本?
\n我在项目中使用了一些活动。其中之一是从PreferenceActivity扩展的。我有一个CheckBoxPreference和一个EditTextPreference,我可以使用以下方法从所有其他活动中获取值:
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
pref = sharedPrefs.getString("edit_text_pref", "error");
Run Code Online (Sandbox Code Playgroud)
但是当我打开我的应用程序时,必须将这些值设置为默认值,因此我正在使用:
PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().clear().commit();
Run Code Online (Sandbox Code Playgroud)
在我的主要活动中。一切都应该没问题,但是如果在从首选项菜单中进行设置之前尝试获取首选项,则会出现“错误”,而不是我在xml首选项文件中设置的默认值。如果我对这getDefaultSharedPreferences条线发表评论,则可以正常工作,但很明显,当我打开该应用程序时,我得到了旧的首选项。我该如何绕过这个问题?
我正在尝试使用Picasso进行更简单的图像内存管理.我刚刚尝试在我的片段中实现它,但我似乎无法让它工作.
mainLayout.setBackground(new BitmapDrawable(getResources(), Picasso.with(mainLayout.getContext()).load(R.drawable.background2).get()));
Run Code Online (Sandbox Code Playgroud)
其中mainLayout是LinearLayout.我也试过这个:
Picasso.with(getActivity().getApplicationContext()).load(R.drawable.background2).into(imageView1);
Run Code Online (Sandbox Code Playgroud)
我试过Picasso.with(这个)......但这根本不起作用.
我一直得到一个例外:
java.lang.IllegalStateException: Method call should not happen from the main thread.
at com.squareup.picasso.Utils.checkNotMain(Utils.java:71)
at com.squareup.picasso.RequestCreator.get(RequestCreator.java:206)
at ...
Run Code Online (Sandbox Code Playgroud)
在哪里我打电话给它.
有人经历过这个或知道如何正确使用碎片?
我想比较标题中提到的三种实现的性能,我写了一个小 JAVA 程序来帮助我做到这一点。main 方法包含三个测试块,每个块看起来像这样:
nb=0; time=0;
for (int i = 0; i < 7; i++) {
double v = methodX(url);
if(v>0){
nb++;
time+=v;
}
}
if(nb==0) nb=1;
System.out.println("HttpClient : "+(time/ ((double) nb))+". Tries "+nb+"/7");
Run Code Online (Sandbox Code Playgroud)
变量nb用于避免失败的请求。现在方法methodX是以下之一:
private static double testWithNativeHUC(String url){
try {
HttpURLConnection httpURLConnection= (HttpURLConnection) new URL(url).openConnection();
httpURLConnection.addRequestProperty("User-Agent", UA);
long before = System.currentTimeMillis();
BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
while (bufferedReader.readLine()!=null);
return System.currentTimeMillis()-before;
} catch (IOException e) {
e.printStackTrace();
return -1;
}
}
private static double testWithHC(String …Run Code Online (Sandbox Code Playgroud) 我的代码是:
psmnt = conn.prepareStatement("INSERT INTO upload_data(user_id,photo,audio) " + "values(?,?)");
psmnt.setLong(1, userId);
fis = new FileInputStream(photoFile);
psmnt.setBinaryStream(2, (InputStream) fis, (int) (photoFile.length()));
fisAudio = new FileInputStream(audioFile);
psmnt.setBinaryStream(3, (InputStream) fisAudio, (int) (audioFile.length()));
int s = psmnt.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
该type of audio中MYSQL DB是BLOB
例外是:
java.lang.ArrayIndexOutOfBoundsException: 2
at com.mysql.jdbc.PreparedStatement.setBinaryStream(PreparedStatement.java:2089)
at com.test.dao.TestDao.saveTestDetails1(TestDAo.java:154)
at com.test.servlet.UploadImage.doPost(UploadImage.java:131)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
如何重新开始?请帮忙
2014-05-14 08:41:02
Error in : org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1215)
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1148)
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1154)
org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:695)
sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
com.sun.proxy.$Proxy82.merge(Unknown Source)
com.REP.CompanyAcce.pat.dao.BaseDAO.save(BaseDAO.java:50)
sun.reflect.GeneratedMethodAccessor250.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
com.sun.proxy.$Proxy84.save(Unknown Source)
com.REP.CompanyAcce.pat.service.PATThreadService.saveCandidatesData(PATThreadService.java:561)
com.REP.CompanyAcce.pat.service.PATThreadService.collectCandidateData(PATThreadService.java:200)
com.REP.CompanyAcce.pat.service.PATThreadService$CollectCandidateDataThread.run(PATThreadService.java:90)
java.lang.Thread.run(Thread.java:662)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
java.lang.Thread.run(Thread.java:662)
org.hibernate.exception.GenericJDBCException: could not insert: [com.REP.CompanyAcce.pat.entity.PATCandidatesData]javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not insert: [com.REP.CompanyAcce.pat.entity.PATCandidatesData] at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1215) at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1148) at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1154) at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:695) at sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240) at com.sun.proxy.$Proxy82.merge(Unknown Source) at com.REP.CompanyAcce.pat.dao.BaseDAO.save(BaseDAO.java:50) at sun.reflect.GeneratedMethodAccessor250.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at …Run Code Online (Sandbox Code Playgroud) java ×5
android ×2
javascript ×2
mysql ×2
vue.js ×2
blob ×1
chart.js ×1
chartkick ×1
dayjs ×1
glassfish ×1
gradle ×1
http-error ×1
httpclient ×1
jsoup ×1
mongodb ×1
node.js ×1
optimization ×1
picasso ×1
servlets ×1
spring ×1
spring-boot ×1
sql ×1
web ×1