Jsp数据传输到Servlet中

来源:互联网 发布:js去重方法 编辑:程序博客网 时间:2024/06/04 19:09

需求:(1)创建一个JSP注册表单页面,内容包括企业名称、企业性质(下拉菜单实现)和生产产品名称(多选控件实现);使用中文测试数据提交请求到一个Servlet。
(2)在Servlet中获取并输出请求数据,保证无乱码问题。


分析:
(1)设置字符集:request.set…..和response.set….
(2)Servlet复写doPost方法。
(3)下拉列表:、
(4)jsp中form传输方式应为post
(5)获取多选控件的内容:getParameterValues(“”);
*(6)判断企业性质、企业名称是否为空?js的使用。

jsp代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><script type="text/javascript">    function chacked() {        var nature = document.getElementById("nature");        var types = document.getElementById("types");        if (nature.value == "") {            alert("请选择企业性质!")            email.focus();            return false;        }        if (types.value == "") {            alert("请选择至少一个企业产品!");            password.focus();            return false;        }        return true;    }</script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>register</title></head><body>    <div style="widows:100%; color:#F00; background:#999; text-align:center;">        <h1>一个传说中的公司</h1>    </div>    <div style="widows:100%">        <form action="../TestServlet" method="post"                onsubmit="return chacked();">            <div style="background:#666">                <h2>企业性质</h2>                <select name="nature" id="nature">                    <option value="0">请选择</option>                    <option value="国企1">国企1</option>                    <option value="国企2">国企2</option>                    <option value="国企3">国企3</option>                    <option value="国企4">国企4</option>                </select>            </div>            <div style="background:#666">                <h2>企业产品</h2>                <input type="checkbox" name="types" id="types" value="产品1" />产品1 <br />                <input type="checkbox" name="types" id="types" value="产品2" />产品2 <br />                <input type="checkbox" name="types" id="types" value="产品3" />产品3 <br />                <input type="checkbox" name="types" id="types" value="产品4" />产品4 <br />                <input type="checkbox" name="types" id="types" value="产品5" />产品5 <br />                <input type="checkbox" name="types" id="types" value="产品6" />产品6 <br />                <input type="checkbox" name="types" id="types" value="产品7" />产品7 <br />            </div>            <div style="font-size:34px; background:#666">                <input name="" type="submit" value="保存" style="font-size:18px; background:#0FF;" />                <input name="" type="reset" value="取消" style="font-size:18px; background:#0FF;" />            </div>        </form>    </div>    <div style="width:100%; height:50pt; background:#CCC; text-align:center;">        版权所有@。。。    </div></body></html>

Servlet代码:

package com.sqt.three.test;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 第三章课后的上机实验题 * 第三题 * jsp:tstjsp * 设计一个jsp包括下拉列表、多选菜单 * 将jsp中的数据传输到Servlet中。保证不乱码 * Servlet implementation class TestServlet */@WebServlet("/TestServlet")public class TestServlet extends HttpServlet {    private static final long serialVersionUID = 1L;    public TestServlet() {        super();        // TODO Auto-generated constructor stub    }    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        this.doPost(request, response);    }    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        request.setCharacterEncoding("UTF-8");        response.setContentType("text/html;charset=UTF-8");        String[] types = request.getParameterValues("types");        String nature = request.getParameter("nature");        String type = request.getParameter("type");        PrintWriter out = response.getWriter();        if("add".equals(type)){            out.println("<script type='text/javascript'>");            out.print("alert('请选择企业类型!');");            out.println("window.location='./testjsp/register.jsp';");            out.println("</script>");        }else{            out.println("<p>企业性质:"+nature+"</p>");            out.println("<p>企业产品:");            for (String str : types) {                out.print(str+"&nbsp;&nbsp;&nbsp;&nbsp;");            }            out.print("</p>");            out.println("<p></p>");            out.println("<p></p>");        }    }}

运行截图:
先在jsp中选择;
jsp选择的数据

Servlet中获取的数据:
Servlet获取的数据

0 0
原创粉丝点击