java如何返回各种状态码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何返回各种状态码相关的知识,希望对你有一定的参考价值。

参考技术A 对你所询问的Java如何返回各种状态码,其实这是一个系统调配命令设置,需要借用不同的返回命令实现代码的转换操作 参考技术B 如果返回到各种状态码来说的话,想要返回到状态嘛来说的话就是设置里面进去。 参考技术C 可以返回各种状态,因为他的状态是可以返回的,有很多的设置方法都是可以的。 参考技术D 呃,这种人想返回状态码的话,一定要在你编程序的时候也给记录下来,如果记录不下来的话,就返回不到你的编程码。 第5个回答  2020-09-30 找到设置,可以按编码随时进行,点击返回即可。

当 ReactJS 中的 URL 不匹配时如何返回 404 状态码

【中文标题】当 ReactJS 中的 URL 不匹配时如何返回 404 状态码【英文标题】:How to return 404 status code when URL does not match at ReactJS 【发布时间】:2019-03-07 21:40:44 【问题描述】:

我使用反应路由器 v4。所以我试图在标题处返回(如果可能的话)状态代码 404 我的代码在这里

export default class App extends Component 
  displayName = App.name

render() 
    return (
        <Layout>
            <Switch>
                <Route exact path='/' component=Home />
                <Route path='/sitemap/:S' component=SiteMap />
                <Route path='/videos' component=Videos />
                <Route path='/contact' component=Contact />
                <Route path='/privacy' component=Privacy />
                /*<Route path='/errorpage' component=Error404 status=404 />*/
                <Route component=Error404/>
            </Switch>
      </Layout>
    );
  

【问题讨论】:

如果路径与上述路径都不匹配,将呈现组件 Error404。所以我想你是对的。 这是正确的代码和解决方案。 @vitomadio 我知道我试图在页面上也有状态代码,遗憾的是这只能发生在后端。 可能是***.com/questions/42929472/…的副本 提出的问题是返回404状态码,不渲染404页面。 【参考方案1】:

您处理好您的 404 Not Found 页面,但无法在客户端更新标头。

要更新标头,您必须将其设置到后端。例如,如果您使用 Express,则可以在代码的最后一级编写

app.use((error, req, res, next) => 
    res.status(404).render('index');
    //OR
    res.status(404).sendFile('path/to/index.html') // Where index.html is your entry point
);

【讨论】:

这是有道理的。我希望通过路由器找到解决方案而不是使用服务器:( 哦对不起!!!只能写入发送到服务器/从服务器发送的标头,而不是更新客户端中的标头。【参考方案2】:

试试:

<Route path="/" component=Error404/>

而不是

<Route component=Error404/>

【讨论】:

看看:***.com/questions/13846738/… 解释前端无法处理状态码【参考方案3】:

试试这个:

<Route render=() => <h1>404 not found</h1>/>

将此放在路由的末尾,因为如果没有找到,这将是最后处理的路由。

【讨论】:

【参考方案4】:

您需要将每个组件放在“布局”标签中。但是,如果您有很多路线要放置,那么最好的方法是这样做:

import * as React from 'react';
import  Route, Redirect, withRouter  from 'react-router-dom';

import SessionManager from '../../../session/session-manager';

class AppRoute extends React.Component<any> 

    /**
     * Constructor
     * 
     * @param * props
     * @memberof AppRoute
     */
    constructor(props: any) 
        super(props);
    

    /**
     * Component will mount callback
     *
     * @memberof AppRoute
     */
    public componentWillMount(): void 
        SessionManager.getInstance().loadSession();
    

    /**
     * Render
     *
     * @returns JSX.Element
     * @memberof AppRoute
     */
    public render(): JSX.Element 
        const  private: isPrivate, layout: Layout, component: Component, ...rest  = this.props;

        if (isPrivate === true) 
            return (
                <Route
                    ...rest
                    render=props => SessionManager.getInstance().isValidSession() ? (<Layout><Component ...props /></Layout>) : (<Redirect to= pathname: '/login', state:  from: this.props.location   />)
                />
            )
         else 
            return (
                <Route ...rest render=props => (
                    <Layout>
                        <Component ...props />
                    </Layout>
                ) />
            )
        
    


export default withRouter(AppRoute);

就我而言,我借此机会添加了路由保护。

最后:

<Switch>
    <Route exact=true path="/login" component=LoginModule />
    <AppRoute exact=true path="/" layout=MainLayout private=true component=DashboardModule />
    <AppRoute exact=true path="/dashboard" layout=MainLayout private=true component=DashboardModule />
    <AppRoute exact=true path="/players" layout=MainLayout private=true component=PlayersModule />
    <Route component=NotFound />
</Switch>

问候。

【讨论】:

这与问题无关,大约是 404 个状态码,这仅显示了一个包罗万象的路线的一些复杂示例 @MichaelB。他的问题在我公开的第二个代码中得到了解决。没有什么复杂的,除非它对你来说很复杂。 @Samuel 第二部分的问题在哪里解决?我看不到任何返回 404 的路线。 @Ricardo @Samuel 我知道你提到的那一行。只说没有返回404,这是主要问题。你写的一切都没有回答。

以上是关于java如何返回各种状态码的主要内容,如果未能解决你的问题,请参考以下文章

服务器返回的各种HTTP状态码介绍(转)

服务器返回的各种HTTP状态码介绍

浏览器中返回的状态码400是啥?

java可以自定义设置请求响应的状态码码?应该可以的,淘宝都这样做了

delphi中的webbrowser ,如何获取网站返回状态码

auth返回状态码异常