目录

  • 1 课程概述及开发工具
    • 1.1 第1次课 课程概述
    • 1.2 第1次课  开发工具
  • 2 HTML基础(4+2)
    • 2.1 第2次课  认识HTML
    • 2.2 第3次课  表格制作
    • 2.3 第4次课  表单:文本框和按钮制作
    • 2.4 第4次课  表单:单选框制作
    • 2.5 第4次课  表单:复选框制作
    • 2.6 第4次课  表单:下拉框制作
    • 2.7 第4次课  表单综合练习
    • 2.8 综合项目:大学生消费水平调查问卷网页设计
    • 2.9 第4次课 CSS基础
      • 2.9.1 第4次课  认识CSS-嵌入式CSS语句
      • 2.9.2 第4次课  认识CSS-文档头内CSS语句
      • 2.9.3 第4次课  认识CSS-CSS外部文件应用
      • 2.9.4 附:CSS参考手册
  • 3 JSP开发基础
    • 3.1 第1次课 认识JSP
    • 3.2 第1次课  EL语言
    • 3.3 第1次课 JSP页面元素
    • 3.4 第2次课  JSP页面元素-代码片段
    • 3.5 第3次课  JSP页面元素-标签行为
      • 3.5.1 第3次课  标签行为jsp:useBean
    • 3.6 第4次课 标签行为 jsp:forward
      • 3.6.1 第4次课 标签行为jsp:param
    • 3.7 第5次课 再一次认识JSP
    • 3.8 附:JavaEE API(开发者参考手册)
    • 3.9 jsp基础测试题
  • 4 JSP内置对象
    • 4.1 第1次 JSP内置对象概述
    • 4.2 第1次 request对象概述
    • 4.3 第2次 request对象获取表单中的请求参数
    • 4.4 第3次 request对象获取URL中的请求参数
    • 4.5 第4次 小项目:列表导航与详情页面设计
    • 4.6 第5次 request对象获取特殊的请求参数-“一对多键-值”对(选)
    • 4.7 第5次 小项目:调查问卷(选)
    • 4.8 第6次 session对象
    • 4.9 第7次 存储“键-值”对到session对象
    • 4.10 第8次 存储“键-值(对象)”对到session对象
    • 4.11 第9次 小项目:果卉团-选购功能设计与实现
    • 4.12 第10次 application对象
    • 4.13 第10次 小项目:运用application实现留言板
  • 5 Servlet开发基础
    • 5.1 第1次 Servlet概述
    • 5.2 第1次 Servlet的生命周期
    • 5.3 第2次 Servlet生成HTML页面
    • 5.4 第3次 Servlet处理表单数据
    • 5.5 第4次 Servlet页面重定向
    • 5.6 第4次 小项目:Web计算器
    • 5.7 第5次 Servlet请求转发
    • 5.8 第6次 Servlet中访问HttpSession对象
    • 5.9 第7次 小项目:简单Web教师工资计算
  • 6 JDBC数据库访问技术
    • 6.1 第1次 JDBC概述
    • 6.2 第2次 JDBC-Statement、ResultSet
    • 6.3 第3次 JDBC实现Web页面简单查询
    • 6.4 第4次 JDBC完成表单查询应用
    • 6.5 第4次 小项目:“寝室大事记”Web查询系统
    • 6.6 第5次 JDBC-预准备语句PreparedStatement
    • 6.7 第6次 JDBC完成增删改功能应用
    • 6.8 第7次 小项目:基于层次架构模式的Web教师工资管理系统
    • 6.9 JDBC API
第3次 Servlet处理表单数据

应用场景:

表单提交的数据被servlet程序接收并处理。

案例:

有一个页面上的表单,接收用户输入的文本框值,点击确定提交按钮后,该值能够被服务器上的一个Servlet程序处理作为HTML页面上的文本输出。

分析:

form表单对Web服务器发出请求,Web服务器定位到Servlet程序-OutputWelcome,执行doPost方法,对客户端予以响应:对发出请求的客户端输出表单中的请求参数值。

页面代码:

<body>

<form action="OutputWelcome" method ="post">

<input type = "text" name = "name">

<input type = "submit" value="提交">

</form>

</body>


 Servet程序源码如下:

package dao;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class OutputWelcome extends HttpServlet {

    public OutputWelcome() {

        super();

    }

       protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              request.setCharacterEncoding("utf-8");//正确地理解传过来的中文参数值

              response.setContentType("text/html;charset=utf-8");

              String name =request.getParameter("name");

              java.io.PrintWriter out =  response.getWriter();

              out.println(name);

              out.close();

       }

       protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              this.doGet(request,response);

       }

}


回顾:

浏览器浏览每一个网页,或者点击一个按钮,都是在对服务器发出请求(随之附参数值),服务器给予响应。所以服务器对每一个请求都会自动生成一个request对象、一个response对象。

Request对象中会封装这个请求的参数(键值对)

 思考:

Web服务器是如何定位到Servlet程序-OutputWelcome的呢?



上例中,将WebContent->WEB-INF->web.xml打开,在url-pattern节点设置值为“/test/OutputWelcome”。观察程序运行效果。


 <servlet>

   <description></description>

   <display-name>OutputWelcome</display-name>

   <servlet-name>OutputWelcome</servlet-name>

   <servlet-class>servlet.OutputWelcome</servlet-class>

 </servlet>

 <servlet-mapping>

   <servlet-name>OutputWelcome</servlet-name>

   <url-pattern>/OutputWelcome</url-pattern>

  </servlet-mapping>


视频


测试题

请在空白处填空,完成题目要求。

要求:页面1有一个表单,由表单提交的文本框和下拉框的数据要被servlet获取后作为结果页面的值输出

页面1关键源码:

<body>

       <form action="OutputWelcome" method="post">

              <input name= "inputbox"  type = "text"><br>

              <select name= "number"multiple="multiple" size= "3"><!--size可以控制多选项的显示行数。- - >

                     <option value="one">一</option>

                     <option value="two">二</option>

                     <option value="three">三</option>

              </select><br>

              <input type="submit"value="提交">

       </form>

</body>


其中,OutputWelcome.java是一个servlet。

OutputWelcome.java的关键源码:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              request.setCharacterEncoding("utf-8");

              response.setContentType("text/html;charset=utf-8");

              String name =request.getParameter("填空一");

              String[] numbers = request.getParameterValues("填空二");

              java.io.PrintWriter out =  response.getWriter();

               out.println(“您输入的文本框的值是:”+(填空三));


               out.println(“您的选择项分别是:”);

              for(int i=0;i<numbers.length;i++)

              out.println(填空四);

              out.close();

       }



web.xml的关键代码是:


 <servlet>

   <description></description>

   <display-name>OutputWelcome</display-name>

   <servlet-name>OutputWelcome</servlet-name>

   <servlet-class>servlet.OutputWelcome</servlet-class>

 </servlet>

 <servlet-mapping>

   <servlet-name>OutputWelcome</servlet-name>

   <url-pattern>/OutputWelcome</url-pattern>

  </servlet-mapping>


知识点:

Servlet的基本配置。