<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                Spring MVC 在處理請求過程中,出現異常信息交給異常處理器進行處理,自定義異常處理器可以實現一個系統的異常處理邏輯。 系統的DAO(Mapper), Service, Controller出現異常都通過throws Exception向上拋出,最后由Spring MVC前端控制器交給異常處理器進行處理。 ![](https://box.kancloud.cn/4509466cc716ba0af3335e5f37e99041_384x322.png) 1. 編寫異常處理類(處理普通請求和ajax請求)。 ~~~ import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; public class GlobalExceptionResolver implements HandlerExceptionResolver{ private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionResolver.class); @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object arg2, Exception ex) { // logger.info("系統發生異常"); logger.error("系統發生異常",ex); if (!(request.getHeader("accept").indexOf("application/json") > -1 || (request .getHeader("X-Requested-With")!= null && request .getHeader("X-Requested-With").indexOf("XMLHttpRequest") > -1))) { // 如果不是異步請求 ModelAndView mav = new ModelAndView(); mav.setViewName("/globalerror.html"); return mav; } else {// JSON格式返回 try { PrintWriter writer = response.getWriter(); writer.write(ex.getMessage()); writer.flush(); } catch (IOException e) { e.printStackTrace(); } return null; } } } ~~~ 2. 在springmvc.xml中配置異常處理器 ~~~ <!-- 全局異常處理 --> <bean class="com.neusoft.control.GlobalExceptionResolver"></bean> ~~~ 3. 日志說明 使用slf4j實現日志處理,slf4j內部調用log4j。 需要以下幾個jar包 ![](https://box.kancloud.cn/c5e89f8788cae7d0eeacc2ba023fb61d_192x102.png) 在maven環境下,配置依賴: ~~~ <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> <!-- <scope>test</scope> --> </dependency> ~~~ 配置log4j.properties(放在classpath根路徑下) ~~~ log4j.rootLogger = INFO,stdout,E ### Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%p] [%l] %10.10c -%m%n log4j.appender.E = org.apache.log4j.RollingFileAppender log4j.appender.E.File =D:/logs/error.log log4j.appender.E.MaxFileSize =1024KB log4j.appender.E.MaxBackupIndex =10 log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern =\n\n[%-5p] %d{yyyy-MM-dd HH\:mm\:ss,SSS} ~~~ 4. Ajax說明 Ajax提交如果出現錯誤,會返回錯誤信息,要在error方法中捕獲。例如: ~~~ $.ajax({ url:"test/addemp", type:"post", data:{ename:ename,job:job,sal:sal,deptno:deptno}, dataType:"json", success:function(data) { //console.log(data); if(data.result) { alert("保存成功"); } else { alert("保存失敗"); } }, error:function(err) { alert("操作失敗"); console.log(err); } }); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看