我有这个代码:
Type typeOfObjectsList = new TypeToken<ArrayList<myClass>>() {}.getType();
List<myClass> objectsList = new Gson().fromJson(json, typeOfObjectsList);
Run Code Online (Sandbox Code Playgroud)
它将JSON字符串转换List为对象.但是现在我希望在运行时定义ArrayList动态类型(不仅仅是myClass).
所述ArrayList的项目类型将与被定义反射.
我试过这个:
private <T> Type setModelAndGetCorrespondingList2(Class<T> type) {
Type typeOfObjectsListNew = new TypeToken<ArrayList<T>>() {}.getType();
return typeOfObjectsListNew;
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.这是例外:
java.sql.SQLException: Fail to convert to internal representation: {....my json....}
Run Code Online (Sandbox Code Playgroud) 是否可以将byte[](字节数组)放入JSON?
如果是这样,我怎么能在java中这样做?然后读取该JSON并再次将该字段转换为byte[]?
如何在运行时通过java在log4j2中动态打开或关闭rootLogger的一个appender?
例如,我想禁用Console Appender:
...
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console"/>
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
...
Run Code Online (Sandbox Code Playgroud)
可能吗?
我正在开发一个Web应用程序(J2EE,Struts2,JSP,Tomcat)我想从webpages中隐藏.jsp扩展名.
这是我的web.xml的一部分:
<filter>
<filter-name>STSDispatcher</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>STSDispatcher</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)
我用Google搜索并找到了这个解决方案:
<servlet>
<servlet-name>myFoo</servlet-name>
<jsp-file>myJSPfile.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>myFoo</servlet-name>
<url-pattern>/main</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
我尝试过如下,但没有奏效:
例如,我有" alert.jsp ",这是我的web.xml:
<servlet>
<servlet-name>alert</servlet-name>
<jsp-file>/alert.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>alert</servlet-name>
<url-pattern>/alert</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误: "没有映射名称空间/动作名称警报的动作. - [未知位置]"
我该怎么办?
提前致谢.
有一个运行的Java Web应用程序 Jetty 9.4.1.v20170120
更新:
相同的结果Jetty 9.4.3.v20170317
这个web-app有一个TCP-client和using Web-socket(Atmosphere)来推送数据.
经过几分钟/小时的工作后,网络应用程序开始使用100%的CPU,没有任何特殊原因.即使它是idle.
在分析和获取线程转储之后,似乎Jetty是高CPU消耗的来源.
那么Jetty有什么问题?这是一个错误吗?
下面我列出了VisualVM在CPU消耗达到100%时进行性能分析(使用)后的一些证据:
我有一个Web应用程序(J2EE + apache + struts2 + jsp + jqgrid)和一些JSP(在/ webcontent/data_provider文件夹中),jQGrid使用它们从mysql DB获取数据并填充网格,但我不想要用户访问这些JSP.我能做什么?先谢谢好友.