我在Spring MVC项目中使用Spring Security集成了CSRF令牌.使用CSRF令牌一切正常,令牌将从客户端发送到服务器端.
我已经改变了我的logout
进程,使其成为POST
发送CSRF令牌的方法,并且其工作正常.
发生会话超时时我遇到问题,需要将其重定向到弹出默认注销URL,但它会为我Access Denied
提供该URL.
如何覆盖此行为.
我在安全配置文件中包含以下行
<http>
//Other config parameters
<csrf/>
</http>
Run Code Online (Sandbox Code Playgroud)
如果有人需要更多信息,请告诉我.
我开始研究Spring MVC和tomcat.
我想通过Spring和ThymeLeaf VewTemplate Engine显示html页面.
但它不起作用.
在我的配置文件和控制器下面.
web.xml文件
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
/webapp/WEB-INF/DispatcherServlet-serlvet.xml
<context:component-scan base-package="com.everblog.controller" />
<!-- ViewResolver be configured by thymeleaf -->
<bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".html" />
<property name="templateMode" value="HTML5" />
<property name="characterEncoding" value="UTF-8" />
</bean>
<bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver" />
</bean>
<bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine" />
<property name="order" value="1" />
<property name="viewNames" …
Run Code Online (Sandbox Code Playgroud) 我已使用PreInsertEventListener
事件PreUpdateEventListener
侦听器在表中插入创建日期和更新日期。
我面临的问题是,当我将实体保存在数据库中时,创建日期无法插入到表中,与更新记录时插入更新日期相同,它也不会插入更新日期。
我的代码示例如下所示:
听众类别:
public class PreInsertListener implements PreInsertEventListener,
PreUpdateEventListener
{
@Override
public boolean onPreInsert(PreInsertEvent arg0) {
City.class.cast(arg0.getEntity()).setCreated_date(new Date());
return false;
}
@Override
public boolean onPreUpdate(PreUpdateEvent arg0) {
System.out.println("Update event......");
City.class.cast(arg0.getEntity()).setUpdated_date(new Date());
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
Hibernate连接类:
public class HibernateUtil
{
private static final SessionFactory sessionFactory;
static {
try {
AnnotationConfiguration config = new AnnotationConfiguration();
config.setListener("pre-insert", new PreInsertListener());
config.setListener("pre-update", new PreInsertListener());
sessionFactory = config.configure().buildSessionFactory();;
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw …
Run Code Online (Sandbox Code Playgroud) public static void main(String[] args) throws MalformedURLException, IOException
{
// TODO code application logic here
URL link1 = new URL("xmlFileHere");
InputStream xml = link1.openStream();
InputStreamReader reader = new InputStreamReader(xml);
BufferedReader reader1 = new BufferedReader(reader);
while(reader1.readLine()!= null)
{
System.out.println(reader1.readLine());
}
}
Run Code Online (Sandbox Code Playgroud)
你好.正如您所看到的,我BufferedReader
不是在阅读整个在线XML文件,我不知道为什么.知道为什么会这样吗?
谢谢.
我想使用 Java 解析 HTML 文件,并且我已经使用了DocumentBuilder
类。我的 HTML 包含一个<img src="xyz">
标签,没有结束</img>
标签,这是浏览器允许的。但是当我将其DocumentBuilder
用于解析时,它给了我这个错误
元素类型“img”必须由匹配的结束标记终止
</img>
。
爪哇:
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document document = docBuilder.parse(is);
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能消除这个错误?
我有一个触发器,因为我想在同一个表中插入新记录,因此在表中插入新记录时会触发.
我的触发器是:
create or replace trigger inst_table
after insert on test_table referencing new as new old as old
for each row
declare
df_name varchar2(500);
df_desc varchar2(2000);
begin
df_name := :new.name;
df_desc := :new.description;
if inserting then
FOR item IN (SELECT pid FROM tbl2 where pid not in(1))
LOOP
insert into test_table (name,description,pid) values(df_name,df_desc,item.pid);
END LOOP;
end if;
end;
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误
ORA-04091: table TEST_TABLE is mutating, trigger/function may not see it
我认为它阻止我插入到同一个表中.
那我怎么能把这个新记录插入到同一个表中.
注意: - 我使用Oracle作为数据库
我在oracle中有一个查询来从表中获取数据rownum
但我没有得到任何数据.
我的查询是这样的:
select * from table-name where rownum<5
这是一个错误的查询来获取行号小于5的数据.
当我使用查询时:
select * from table-name where rownum<=4
比它会给出结果记录.
我的问题是这里有什么问题?
这是语法错误还是其他什么?..
我想知道如何通过纠正错误来执行这个java程序.
代码是:
import java.io.*;
class start
{
public static void main(String args[])
{
System.out.println("STARTING JAVA PROGRAM");
}
}
class finish
{
System.out.println("FINISH");
}
Run Code Online (Sandbox Code Playgroud)
执行此程序产生的错误是:
D:\Downloads\PRO>javac start.java
start.java:10: error: <identifier> expected
System.out.println("FINISH");
start.java:10: error: illegal start of type
System.out.println("FINISH");
Run Code Online (Sandbox Code Playgroud)
我们可以在java程序中允许两个类吗?
任何人都可以帮助我.