JavaWeb之Servlet入门(二)
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.
JavaWeb之Servlet入门(二)的更多相关文章
- javaweb(六)——Servlet开发(二)
一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...
- Javaweb之Servlet入门
1. 什么是Servlet? Java Servlet 是运行在 Web 服务器或应用服务器上的程序:他是浏览器(HTTP客户端)请求和HTTP服务器上资源(访问数据库)之间的中间层. 2. 什么是S ...
- JavaWeb之Servlet入门(一)
1. Servlet介绍 Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容. 2. ...
- javaweb学习之Servlet开发(二)
javaweb学习总结(六)--Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个< ...
- 浅谈JavaWEB入门必备知识之Servlet入门案例详解
工欲善其事.必先利其器,想要成为JavaWEB高手那么你不知道servlet是一个什么玩意的话,那就肯定没法玩下去,那么servlet究竟是个什么玩意?下面,仅此个人观点并通过一个小小的案例来为大家详 ...
- JavaWeb学习总结(二) Servlet
本文目录 一.Servlet概述 二.Servlet接口 三.GenericServlet 四.HttpServlet 五.Servlet细节 六.ServletContext 回到顶部 一.Serv ...
- Intellij IDEA创建javaWeb以及Servlet简单实现
1.创建web工程 File --> New --> Project...
- HTTP协议 Servlet入门 Servlet工作原理和生命周期 Servlet细节 ServletConfig对象
1 HTTP协议特点 1)客户端->服务端(请求request)有三部份 a)请求行--请求行用于描述客户端的请求方式.请求的资源名称,以及使用的HTTP协议版本号 请求行中的GET ...
- Intellijidea建javaWeb以及Servlet简单实现
一.创建并设置javaweb工程1.创建javaweb工程File --> New --> Project... 点击Project后出现如下界面,选择Java Enterprise,选中 ...
随机推荐
- vuejs+thinkphp5+phpsocketIO+timer数据及时更新
1.安装thinkphp5.0以上版本包含workerman框架2.composer安装composer require workerman/phpsocket.io3.vue中调用需要加载weapp ...
- 044-PHP获得多个类对应的反射信息
<?php //获得多个类对应的反射信息 class demo{ public $str_1; private $str_2; protected $str_3; public function ...
- unicode字符等价探究
Demobaidu.com(\uff41)能跳转到baidu.combаidu.com(\u0430)不能跳转到baidu.com,被认为成一个其他域名 等价原因两个不同编码的Unicode字符之间可 ...
- gem5-gpu全系统模式
# 注意:安装好gem5-gpu后再配置全系统环境 # 下载全系统模拟需要的工具,详见http://gem5.org/Running_gem5#Full_System_.28FS.29_Mode,将L ...
- Elasticsearch 使用集群 - 删除索引
章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...
- oracle获取排序第一的数据
一:按照某字段排序(时间,总数等),获取第一条 select a.* FROM ( select * from ( select t.*,row_number() over(partition by ...
- Java8 新特性_Lambda 表达式
1. Java8新特性_简介 Lambda 表达式 函数式接口 方法引用与构造器引用 Stream API 接口中的默认方法与静态方法 新时间日期 API 减少空指针异常的容器 Optional 2. ...
- [ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: URLError: <urlopen error [Errno 10061] Connection refused>
[ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: URLError: <urlopen error ...
- centos破解压缩文件密码
rarcrack是linux系统端的一款破解加密压缩包的工具,rarcrack使用的穷举法进行破解已经加密的rar.zip和7z压缩包,支持设置多线程,和文件类型进行破解. 1.rarcrack下载页 ...
- 51node 4个数和0
https://www.51nod.com/Challenge/Problem.html#problemId=1267 第一种方法:两个for+二分:很好理解,不用考虑重复的问题.但是这个还不够快 # ...