为什么不会报错呢

为什么不会报错呢

1
<%@ page contentType="text/html;charset=utf-8"  isErrorPage="true"%><br><!DOCTYPE html><br><html><br><head><br><meta charset="UTF-8"><br><title>Insert title here</title><br></head><br><body><br>  服务器内部错误,请联系管理员 <br>  <%<br>     String msg=exception.getMessage();<br>     out.println("<br>"+exception.getClass().getSimpleName()+":"+msg);<br>  %><br></body><br></html><br>
1
<?xml version="1.0" encoding="UTF-8"?><br><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"><br>  <display-name>servlet_advanced</display-name><br>  <welcome-file-list><br>    <welcome-file>index.html</welcome-file><br>    <welcome-file>index.htm</welcome-file><br>    <welcome-file>index.jsp</welcome-file><br>    <welcome-file>default.html</welcome-file><br>    <welcome-file>default.htm</welcome-file><br>    <welcome-file>default.jsp</welcome-file><br>  </welcome-file-list><br><br><!--   对应的是PatternServlet --><br><servlet><br>    <servlet-name>patternServlet</servlet-name><br>    <servlet-class>com.imooc.servlet.pattern.PatternServlet</servlet-class><br></servlet><br><servlet-mapping><br>    <servlet-name>patternServlet</servlet-name><br>    <url-pattern>/pattern/*</url-pattern><br></servlet-mapping><br><!-- <br>设置应用程序全局参数 --><br><context-param><br>    <param-name>copyright</param-name><br>    <param-value>© 2021 imooc.com  京ICP备 12003892号-11</param-value><br></context-param><br><context-param><br>    <param-name>title</param-name><br>    <param-value>慕课网-程序员的梦工厂</param-value><br></context-param><br><!-- 指定错误页面 --><br><error-page><br>    <error-code>404</error-code><br>    <location>/error/404.html</location><br></error-page><br><error-page><br>    <error-code>500</error-code><br>    <location>/error/500.jsp</location><br></error-page><br></web-app><br>
1
package com.imooc.servlet.pattern;<br><br>import java.io.IOException;<br>import java.io.PrintWriter;<br><br>import javax.servlet.ServletException;<br>import javax.servlet.http.HttpServlet;<br>import javax.servlet.http.HttpServletRequest;<br>import javax.servlet.http.HttpServletResponse;<br><br>//servlet-JSP进阶,4-1章,Web.xml常用配置-通配符  pattern :模式<br>public class PatternServlet extends HttpServlet{<br>      @Override<br> public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<br>       //查询员工的基本信息<br>       //获取当前访问的url,getRequestURL返回的是Stringbuffer;<br>         String url=request.getRequestURL().toString();<br>      System.out.println(url);<br>        //截取的思路,获取最后一个/出现的位置;lastIndexOf获取最后一次出现的位置;<br>        //substring 截取最后一次出现/位置的信息,坐标+1,也就是/后的信息;<br>       String id=url.substring(url.lastIndexOf("/")+1);<br>        response.setContentType("text/html;charset=utf-8");<br>         PrintWriter out=response.getWriter();<br>       out.println(id);<br>        //设置逻辑判断<br>        if(id.equals("1")) {<br>            out.println("张三");<br>      }else if(id.equals("2")) {<br>          out.println("李四");<br>      }else {<br>             out.println("其他员工");<br>        }<br>  }<br><br>}<br>

http://img1.sycdn.imooc.com//climg/60502c84092dd18c11860342.jpg

老师也是这样写的,为什么会报错?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小脸 2021-03-17 19:00:53

同学你好,当输入1-2之外的数字时,会进入else,而不输入内容是不符合if..else条件的,且是会出现异常信息的,这里同学可以试着访问:

1
http://localhost:8080/servlet_advanced/pattern/3

祝学习愉快~

好帮手慕小脸 2021-03-16 14:44:20

同学你好,上述代码的完成是符合5-1小节课程的代码演示,在5-2小节中,老师对PatternServlet类做出了如下修改,这里同学需要String类型的id转换为数字,在进行if判断:

http://img1.sycdn.imooc.com//climg/605053a40911bb0706590308.jpg

http://img1.sycdn.imooc.com//climg/605053af09f25ca105330170.jpg

祝学习愉快~

  • 提问者 rock221 #1

    正常的不可以转换吧, 字符串里面的是内容, 无法强制转换成int吧?

    2021-03-16 15:03:55
  • 好帮手慕小脸 回复 提问者 rock221 #2

    同学你好,同学是说如下这里吗?

    http://img1.sycdn.imooc.com//climg/6050724c096c0c2103990028.jpg

    如果是,是可以转换的,无需强转,如下所示:

    http://img1.sycdn.imooc.com//climg/6050729e09dac15705460138.jpg

    祝学习愉快~

    2021-03-16 16:56:07
  • 提问者 rock221 回复 好帮手慕小脸 #3

    那报错的原因是因为==,比较的是地址的引用?不是内容?所以报错?  但是2个对象之间比较的是引用吧,这是是对数字进行判断啊, 为啥会报错呢

    2021-03-16 16:58:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码