web-servlet-response

本文详细介绍了HTTP Response对象的使用方法,包括响应行、响应头、响应体等关键部分的设置与操作。特别针对中文乱码问题提供了两种解决方案,并附有具体示例。

 

                                                 


    一、Response对象API:
    
        1、关于响应行的方法:   --- setStatus(int);
        
            设置响应的状态码
            200 正确
            302 重定向
            304 查找本地缓存
            404 请求资源不存在
            500 服务器内部错误
            
        2、关于响应头的方法:

            set开头的方法:针对一个key对应一个value的情况。        
        
            --- setHeader(String name,String value);
            
            例如:
            
                比如有一个头 content-Type:text/html  setHeader(“content-Type”,”text/plain”);
                最终得到头的结果:content-Type:text/plain
                
            add开头的方法:针对一个key对应多个value的情况。
            
            --- addHeader(String name,String value);
            
            例如:
            
                比如有一个content-Type:text/html      addHeader(“content-Type”,”text/plain”);
                最终得到头的结果:content-Type:text/html,text/plain
         
        
        3、关于响应体的方法:
        
            --- getOutputStream();  --- 响应的是字节流;
            
            --- getWriter();        --- 响应的是字符流;
            
        4、其他常用的API:
        
            --- sendRedirect(String location);          ---  重定向
            
                例如:实现重定向
                
                    1、通过设置状态码和location响应头结合
                    
                    response.setStatus(302);
                    response.setHeader("location","/工程名/类名");
                    
                    2、通常开发中的方式(重点)
                    
                    response.sendRedirect(“/工程名/类名”);替换重定向两句写法
            
            --- setContentType(String type);            ---  设置浏览器打开页面时候采用的字符集
            
            --- setCharacterEncoding(String charset);   ---  设置响应字符流的缓冲区字符集
            
            --- addCookie(Cookie cookie);               ---  服务器向浏览器回写Cookie的方法


    二、response对象响应的中文乱码处理:
        
            方式一:使用字节流响应中文
            
                1、使用字节流的方式输出中文:
                
                    ServletOutputStream outputstream = response.getOutputStream();
                    outputstream.write("中国".getBytes());
                    
                    如果用这种方式输出中文,可能会出现乱码,也可能不会,取决于使用的浏览器打开默认字符集;
                    
                    解决:将中文转成字节数组的时候和浏览器默认打开的时候采用的字符集一致即可。
                    
                改为:ServletOutputStream outputstream = response.getOutputStream();
                      //设置浏览器默认打开的时候采用的字符集
                      response.setHeader("Content-Type","test/html;charset=UTF-8");
                      //设置中文转成字节数组字符集编码
                      outputstream.write("中国".getBytes("UTF-8"));
                      
            方式二:使用字符流的方式输出中文:
            
                    response.getWriter().println("中国");
                    
                    如果是这样输出中文,必定会出现乱码问题。字符流是有缓冲区的,response获得字符流,
                    
                    response设计默认的缓冲区编码是ISO-8859-1。这个字符集不支持中文的。
                    
                    解决:
                        设置response获得字符流缓冲区的编码和设置浏览器默认打开时候采用的字符集一致即可。
                    
                    改为:  //设置浏览器默认打开的时候采用的字符集
                            response.setHeader("Content-Type","test/html;charset=UTF-8");
                            //设置response获得字符流的缓存区的编码
                            response.setCharacterEncoding("UTF-8");
                            response.getWriter().println("中国");
                            
                    简化:  response.setContentType("text/html;charset=UTF-8");
                            response.getWriter().println("中国");
                                      

   
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            
                                                            


                                                 

内容概要:本文介绍了基于贝叶斯优化的CNN-LSTM混合神经网络在时间序列预测中的应用,并提供了完整的Matlab代码实现。该模型结合了卷积神经网络(CNN)在特征提取方面的优势与长短期记忆网络(LSTM)在处理时序依赖问题上的强大能力,形成一种高效的混合预测架构。通过贝叶斯优化算法自动调参,提升了模型的预测精度与泛化能力,适用于风电、光伏、负荷、交通流等多种复杂非线性系统的预测任务。文中还展示了模型训练流程、参数优化机制及实际预测效果分析,突出其在科研与工程应用中的实用性。; 适合人群:具备一定机器学习基基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)础和Matlab编程经验的高校研究生、科研人员及从事预测建模的工程技术人员,尤其适合关注深度学习与智能优化算法结合应用的研究者。; 使用场景及目标:①解决各类时间序列预测问题,如能源出力预测、电力负荷预测、环境数据预测等;②学习如何将CNN-LSTM模型与贝叶斯优化相结合,提升模型性能;③掌握Matlab环境下深度学习模型搭建与超参数自动优化的技术路线。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注贝叶斯优化模块与混合神经网络结构的设计逻辑,通过调整数据集和参数加深对模型工作机制的理解,同时可将其框架迁移至其他预测场景中验证效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值