小编Paw*_*til的帖子

Tomcat 没有重定向到 400 bad request 自定义错误页面

我们在生产中有 tomcat 9 Web 服务器。我们面临的问题是,如果 tomcat 收到任何格式错误的 URL,我们希望为我们的应用程序显示自定义错误页面,如下所示

http://网址/|

或者

http://网址/[

我在tomcat应用服务器的web.xml中添加了error page标签如下

<error-page>
   <error-code>400</error-code>
   <location>/error.html</location>
 </error-page>
 <error-page>
   <error-code>404</error-code>
   <location>/error.html</location>
 </error-page>
Run Code Online (Sandbox Code Playgroud)

我们在tomcat的webapps目录下的应用程序ROOT文件夹中有error.html。

每当用户尝试请求任何不存在的网页时,他都会收到与上面指定的 404 错误代码正确对应的错误页面。

真正的问题是当用户在浏览器中输入格式错误的 URL(如http://URL/|)时,tomcat 无法重定向到 error.html

Tomcat 显示的是默认的 400 bad request 错误页面,而不是自定义错误页面。

redirect tomcat bad-request tomcat9

11
推荐指数
2
解决办法
1万
查看次数

扩展CrudRepository的@Autowired接口如何工作?我想有一些见解

假设我的接口扩展CrudRepository如下

 @Repository
    public interface EmployeeRepository extends CrudRepository<Employee, Integer> 
    {
    }
Run Code Online (Sandbox Code Playgroud)

我在Service类中使用EmployeeRepository接口,如下所示

@Service
public class EmployeeService 
{

 @Autowired 
  EmployeeRepository employeeRepository;


 public List<Employee> getAllEmployee()
 {
     List<Employee> listEmp=new ArrayList<Employee>();
     employeeRepository.findAll().forEach(listEmp::add);
     return listEmp;


 }
}
Run Code Online (Sandbox Code Playgroud)

和控制器如下

@RestController
public class WelcomeController 
{
    @Autowired
    EmployeeService empservice;

    @RequestMapping("/employees")
    public List<Employee> getEmployees()
    {
        return empservice.getAllEmployee();
    }

}
Run Code Online (Sandbox Code Playgroud)

它给出了以下例外

org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为'welcomeController'的bean时出错:通过字段'empservice'表示的不满意的依赖关系:创建名为'employeeService'的bean时出错:通过字段'employeeRepository'表示的不满意的依赖关系

错误很明显,因为任何类都没有实现接口EmployeeRepository

@Autowired  
EmployeeRepository employeeRepository;
Run Code Online (Sandbox Code Playgroud)

自动装配将失败,因为没有类正在实施employeeRepository.

尽管如此,我对它如何工作感到困惑,因为我在GitHub和教程上看到的每个代码都运行得很好.

我在哪里出错了@Autowired如何处理扩展CrudRepository的接口,即使没有类正在实现它; 这是自动装配的基本规则?也就是说,如果您要自动连接任何接口,那么至少有一个类必须实现该接口,然后自动装配将成功.

autowired spring-data spring-boot

8
推荐指数
1
解决办法
6809
查看次数

为什么我们需要为google recaptcha进行服务器端验证?

在我的新项目中,我将包括google recaptcha.我的问题相当简单,即使我们做客户端验证用户不是机器人,即使建议进行服务器端验证.我想知道为什么有必要为google recaptcha进行服务器端验证?它是如何添加额外的安全层的?如何在弹簧安全的春季启动?

validation spring-security recaptcha spring-boot

5
推荐指数
0
解决办法
704
查看次数

SQL状态[null]; 错误代码[0]; ORA-00900:带有jdbcTemplate的无效SQL语句

我从jdbcTemplate执行以下查询时遇到异常

update TEMP_BRD_STATS SET STATS=null WHERE BRDC_STAT_ID=?
Run Code Online (Sandbox Code Playgroud)

以下是例外

org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback; 未分类SQL的SQLException [更新TEMP_BRD_STATS SET STATS = null WHERE BRDC_STAT_ID =?]; SQL状态[null]; 错误代码[0]; ORA-00900:无效的SQL语句

TEMP_BRD_STATS是我的表名,STATS和BRDC_STAT_ID是我表中的列

注意: - STATS列允许使用null

但是,我可以通过提供有效的BRDC_STAT_ID列值在sql developer中成功执行查询.

例如

update TEMP_BRD_STATS SET STATS=null WHERE BRDC_STAT_ID=523;
Run Code Online (Sandbox Code Playgroud)

编辑:以下是JAVA代码

result = this.jdbcTemplate.query("update TEMP_BRD_STATS SET STATS=null WHERE BRDC_STAT_ID=?",  new Object[] {523}, new QueryResultSetExtractor());
Run Code Online (Sandbox Code Playgroud)

尽管抛出了异常,但在执行上述代码后,列值会发生变化.

假设我的列STATS具有'SUCCESS'值并且在执行上面的java代码之后值变为null但仍然抛出异常.一种奇怪的场景.

java oracle spring jdbctemplate

3
推荐指数
1
解决办法
667
查看次数

git clone :此应用程序需要以下版本的 .NET Framework 之一:.NET Framework,版本 =v4.7.2

我正在尝试从远程存储库 git clone 到本地存储库。每当我输入 git clone 命令并输入我的用户名和密码时,我都会收到以下错误。

此应用程序需要以下版本的 .NET Framework 之一:.NET Framework,版本 =v4.7.2

我的Windows版本是:8

我当前的.NET版本是:4.6.01055

我怀疑 git credential manager 导致了这个问题。

有没有办法在 Windows 8 上将 .NET Framework 版本从 4.6.01055 升级到 v4.7.2?

.net windows windows-8 git-for-windows

1
推荐指数
1
解决办法
4615
查看次数