1. 准备
在JavaWeb之Servlet入门(一)中,我们完成了第一个Servlet程序,完成了从URL到后台控制器的中转过程,接下来我们延续JavaWeb之Servlet入门(一)学习下如何传参及返回,如何配置404和error页。
2. Servlet传递参数
1)调整HelloServlet
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { String userName = req.getParameter("userName"); System.out.println("Hello"+userName); }
在service方法中,req用来从客户端获取数据,req.getParameter可以根据参数名获取客户端传过来的参数,然后我们将其打印到控制台来查看是否传参成功。
2)测试
我们再浏览器地址栏中输入:http://127.0.0.1:8080/MyServletWeb/Hello?userName=ZhangSan ,访问成功后,我们可以看到在MyEclipse中的Console窗口中已经打印了“Hello ZhangSan”,说明我们传参成功了。
在URL中,?后边表示参数传递,格式为 ?变量1=值&变量2=变量值... ,注意?问英文格式下的问号。
3. 配置404及error页
1)右键WebRoot-----WEB-INF,新建目录jsp,用来存放jsp页面。
2)右键jsp目录,新建jsp(名称为404.jsp)页面,将<body>部分调整为:
<body> This is 404 Page. <br> </body>
3)右键jsp目录,新建jsp(名称为error.jsp)页面,将<body>部分调整为:
<body> This is error Page. <br> </body>
4)调整web.xml,增加404及error的跳转配置:
<error-page> <error-code>404</error-code> <location>/WEB-INF/jsp/404.jsp</location> </error-page> <error-page> <error-code>java.lang.Exception</error-code> <location>/WEB-INF/jsp/error.jsp</location> </error-page> <servlet> . . .
5) 重新启动tomcat服务器,然后测试:
首先,我们再浏览器地址栏输入:http://127.0.0.1:8080/MyServletWeb/AAA,因为我们在Servlet配置中没有针对/AAA的配置,所以会跳转到404页面,浏览器窗口中会显示:This is 404 page.
然后,为了让我们的后台服务器出现异常,我们需要调整下HelloServlet的代码:
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { String userName = req.getParameter("userName"); System.out.println("Hello"+userName); throw new ServletException("test"); }
我们再浏览器地址栏输入:http://127.0.0.1:8080/MyServletWeb/Hello,则会跳转到error页面,浏览器窗口中会显示:This is error page.