【步骤 1】创建一个名为 input.html 的 HTML 页面,其中包括一个表单,表单中包含两 个文本域,分别供用户输入学号和姓名,该页面也包含提交和重置按钮。
【步骤 2】定义一个名为 com.demo.Student 类,其中包括学号 sno 和姓名 name 两个 private 的成员变量,定义访问和修改 sno 和 name 的方法。
【步骤 3】编写名为 FirstServlet 的 Servlet,要求当用户在 input.html 中输入信息后点击 “提交”按钮,请求 FirstServlet 对其处理。在 FirstServlet 中使用表单传递的参数(学号和 姓名)创建一个 Student 对象并将其作为属性存储在 ServletContext 对象中,然后获得通过 ServletContext 的 getRequestDispatcher()方法获得 RequestDispatcher()对象,将请求转发到 SecondServlet。
【步骤 4】在 SecondServlet 中取出 ServletContext 上存储的 Student 对象,并显示输出 该学生的学号和姓名。在 SecondServlet 的输出中应该包含一个超链接,点击该连接可以返 回 input.html 页面。

源代码

Student类
public class Student {private String sno;private String name;public Student(String sno, String name) {this.sno = sno;this.name = name;}public String getSno() {return this.sno;}public void setSno(String sno) {this.sno = sno;}public String getName() {return this.name;}public void setName(String name) {this.name = name;}
}
FirstServlet类
public class FirstServlet extends HttpServlet {private static final long serialVersionUID = 1L;public FirstServlet() {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ServletContext servletContext = this.getServletContext();servletContext.setAttribute("stu", new Student(request.getParameter("sno"), request.getParameter("name")));servletContext.getRequestDispatcher("/SecondServlet").forward(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}
}
SecondServlet类
public class SecondServlet extends HttpServlet {private static final long serialVersionUID = 1L;public SecondServlet() {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");ServletContext context = this.getServletContext();Student student = (Student)context.getAttribute("stu");PrintWriter out = response.getWriter();String title = "读取数据";String docType = "<!DOCTYPE html> \n";out.println(docType + "<html>\n" + "<head><title>" + title + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title + "</h1>\n" + "<ul>\n" + "  <li><b>学号</b>:" + student.getSno() + "\n" + "  <li><b>姓名</b>:" + student.getName() + "\n" + "</ul>\n" + "<a href=\"http://localhost:8080/webDemo2_war_exploded/input.html\">访问输入页</a>" + "</body></html>");}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}
}

Java—servlet简单使用相关推荐

  1. jsp java 登陆_jsp+java servlet实现简单用户登录

    jsp+java servlet实现简单用户登录(使用数据库,包括注册页面) 功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步 ...

  2. java servlet例子_Servlet学习教程(三)---- 一个简单的Servlet例子

    我们用个最简单的Servlet例子来解说一下Servlet简单配置以及Servlet类实现类的写法. 第一,我们新建一个Dynamic Web Project,起名Servlet 点击NEXT,设置D ...

  3. java _web之Servlet简单应用

    Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的web页面.它担当Web浏览器或其他http客户程序发出请求.与http服务器上的数据库或应用程序之间交互的中间层. 所 ...

  4. Java Servlet完全教程

    本文来自Java Servlet完全教程 Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求.尽管Servlet可以响应任意类型的请求,但是它们使用最广 ...

  5. Java Servlet 开发常用代码、模板、问题

    一 空Servlet类模板 import java.io.IOException; mport java.io.PrintWriter; import javax.servlet.ServletExc ...

  6. Java Servlet 技术简介

    开始之前 关于本教程 在您最喜欢的 Web 浏览器中,您所阅读的页面是如何出现的呢?当登录到您最喜欢的 Web 站点时,该 Web 站点如何知道登录的用户是您?而 Web 零售商又如何接受您的在线订购 ...

  7. Java Servlet和JSP教程

    http://www.bccn.net/article/web/jsp/jc/200409/72.html 简介 这是一个比较完整的Servlet.JSP教程,包含大量的实用资料和示例,仙人掌工作室倾 ...

  8. [转]Intellij idea创建javaWeb以及Servlet简单实现

    准备: 1. 安装jdk1.7 2. 安装tomcat1.8 一.创建并设置javaweb工程 1.创建javaweb工程 File --> New --> Project... 设置工程 ...

  9. 使用java开发简单的mis系统所需的技术

    开发mis系统用到的技术 1. b/s架构:就broser/server,浏览器/服务器的说法.服务器端要运行tomcat,提供链接数据库服务供java代码读写数据,这个可以在eclipse中配置运行 ...

最新文章

  1. Oracle11g与Oracle11gxe有什么区别
  2. python选出奇数并降序_奇数结点升序偶数结点降序的单链表排序(Python实现)
  3. TypeScript里的高阶函数-返回函数的函数,以及对应的JavaScript代码
  4. UltraISO制作linux启动盘(包含写入不完整解决方法)
  5. 微软将 Teams 移动应用纳入漏洞奖励计划,最高奖金3万美元
  6. 异常问题解决Error:Execution failed for task ‘:app:processDebugManifest‘
  7. 在PS中读取敏感数据
  8. Linux下KDE桌面系统快捷键
  9. 用canvas画一个刮刮卡
  10. 【万字总结】基于多智能体强化学习的《星际争霸II》中大师级水平的技术研究
  11. 南航计算机专业哪个校区,今天被南航拟录取了,写点干货留给后来人(学校选择+初试+复试)...
  12. WAP1.X/WAP2.0以及WAP浏览器的协议版本
  13. centos 7.6 安装mariadb
  14. java游戏俄罗斯方块_Java俄罗斯方块小游戏
  15. 690-文件管理和文件系统
  16. Qt扫盲-QSlider理论总结
  17. 开源分享 | java项目 | 亲戚计算器
  18. 攻防世界-Misc新手专区 Write Up
  19. 图神经网络系列(二)图卷积神经网络
  20. RPO 相对路径覆盖攻击

热门文章

  1. leetcode(167)两数之和 II - 输入有序数组
  2. shell编程题(四)
  3. Python变量类型
  4. Leetcode 9. 回文数(Palindrome Number)
  5. 全套学习!mysql命令窗口执行sql文件
  6. android chrome cast,有了它 任何安卓设备瞬间变身ChromeCast
  7. 前端有用JavaScript技巧
  8. 条件变量 sync.Cond
  9. net core 获取网站目录
  10. ordereddict有序字典