Servlet:response,request小案例

案例描述

按照下面的页面做一个用户注册的Sevlet,要求自己设计表,并将表单的数据写入到表中。并提交代码。
在这里插入图片描述

<html>

<style>
td {
	border-width: 1px;
	border-style: solid;
}
</style>

<script type="text/javascript" src="js/jquery-3.6.0.min.js"></script>

<script type="text/javascript">
	$(function() {
		
        /**
         * 增加验证学生身份证号是否存在功能 
         */

        $("#btn_create").click(function(){

            var regName =/^[\u4e00-\u9fa5]{2,4}$/;
            if(!regName.test($.trim($("#stuName").val()))){
                alert('真实姓名填写有误');
                $("#stuName").focus();
                return ;
            }

            var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
            if(!regIdNo.test($.trim($("#idcard").val()))){
                alert('身份证号填写有误');
                $("#idcard").focus();
                return false;
            }

            var regGrade = /^[0-9]{4}$/;
            if(!regGrade.test($.trim($("#grade").val()))){
                alert('年级必须是一个四位的数字');
                $("#grade").focus();
                return false;
            }



            if(!(/^1\d{10}$/.test($.trim($("#tel").val())))){
                alert("手机号码有误,请重填");
                $("#tel").focus();
                return false;
            }
            $("#form1").submit();
		});
	});
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="save.do" method="post" id="form1">
		<table border="1" align="center"
			style="background-color: silver; font-size: 6px; border: solid; border-width: 1px">
			<caption>学员信息管理</caption>
			<tr>
				<td>学生姓名</td>
				<td><input type="text" name="name" id="stuName"></td>

				<td>性别</td>
				<td><input type="radio" name="sex" checked="checked" value=""><input
					type="radio" name="sex" value=""></td>
			<tr>
			<tr>
				<td>学历</td>
				<td><select name="degree" id="degree" style="width: 150px">
					<option>高中</option>
					<option>专科</option>
					<option>本科</option>
					<option>硕士</option>
					<option>博士</option>
				</select></td>
				<td>身份证号</td>
				<td><input type="text" id="idcard" name="idcard" >&nbsp;&nbsp;&nbsp;
					<span style="color:royalblue;font-size: medium"></span></td>
			<tr>
			<tr>
				<td>班级</td>
				<td><select name="tclass" id="classId"
					style="width: 150px">
				
				<option>java</option>
				<option>python</option>
				<option>软件测试</option>
				<option>大数据</option>
				<option>web前端</option>
				</select></td>
				<td>讲师</td>
				<td><select name="teacher" id="teacherId"
					style="width: 100px">
					<option value="1">张三丰</option>
					<option value="2">鬼谷子</option>
					<option value="3">王阳明</option>
					<option value="4">孔子</option>
					<option value="5">孟子</option>
					
					</select></td>
					
			<tr>

			<tr>
				<td>学校</td>
				<td><select name="school.schoolId" id="schoolId"
					style="width: 160px">
					<option value="001">清华大学</option>
					<option value="002">北京大学</option>
					<option value="003">哈尔滨工业大学</option>
					<option value="004">南京大学</option>
					<option value="005">上海交通大学</option>
					<option value="006">复旦大学</option>
					<option value="007">中国科技大学</option>
					<option value="008">浙江大学</option>
					<option value="009">西安交通大学</option>
					</select></td>

				<td>专业</td>
				<td><input type="text" name="major"></td>
			<tr>
			<tr>
				<td>年级</td>
				<td><input type="text" name="grade" id="grade"></td>

				<td>联系电话</td>
				<td><input type="text" name="tel" id="tel"></td>
			<tr>

			<tr>
				<td>家庭住址</td>

				<td><textarea rows="4" cols="30" name="address"></textarea></td>
				<td>备注</td>
				<td><textarea rows="4" cols="30" name="comment"></textarea></td>
			<tr>
			<tr align="right">
				<td colspan="4"><input type="button" value="创建" id="btn_create"></td>
			<tr>
		</table>
	</form>
</body>
</html>

个人理解:题意我不是十分确定,我的理解就是上面表信息填写好后,对表中信息进行提取,然后显示在另一个页面中

浅谈servlet

这里浅谈servlet,详细servlet相关知识,本人整理后会发布

理解servlet

什么是servlet?

  • 简单理解:就是一个规范,这个规范中包含了很多关于javaweb的API
  • 理解:就是运行在服务器端的小组件
  • 作用:接收客户端的请求,并对请求做出响应(返回一个html),通常适用http协议
如何开发servlet
  1. 定义一个类,实现servlet接口或者继承HttpServlet
  2. 重写service方法,一般来说会重写doGet(),dopost()
  3. 映射一个url
  4. 部署到tomcat中,并启动

代码及结果展示

先给大家看下我的结果展示
在这里插入图片描述
不知道为什么会出现乱码,我考虑过可能是servlet中字符集和浏览器不一致,但还是没解决,如果大家知道怎么解决,麻烦评论区留下言,或者微信联系也可,感谢
请添加图片描述
下面代码:

package com.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;

@WebServlet(name = "saveServlet", value = "/admin/save.do")
public class saveServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        //获得表信息
        String name=request.getParameter("name");
        System.out.println(name);
        String sex=request.getParameter("sex");
        System.out.println(sex);
        String degree=request.getParameter("degree");
        System.out.println(degree);
        String idcard=request.getParameter("idcard");
        System.out.println(idcard);
        String tclass=request.getParameter("tclass");
        System.out.println(tclass);
        String teacher=request.getParameter("teacher");
        System.out.println(teacher);
        String schoolSchoolId=request.getParameter("school.schoolId");
        System.out.println(schoolSchoolId);
        String major=request.getParameter("major");
        System.out.println(major);
        String grade=request.getParameter("grade");
        System.out.println(grade);
        String tel=request.getParameter("tel");
        System.out.println(tel);
        String address=request.getParameter("address");
        System.out.println(address);
        String comment=request.getParameter("comment");
        System.out.println(comment);

        //反应

        response.setCharacterEncoding("UTF-8");
        response.setHeader("content-type","text/html;charset=utf-8");
        PrintWriter printWriter= response.getWriter();
        printWriter.write("<html><head><title>自制表格</title></head><body>");
        printWriter.write("<table>\n" +
                "    <tr>\n" +
                "        <td>学生姓名</td>");
        printWriter.write("<td>"+name+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>性别</td>");
        printWriter.write("<td>"+sex+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>学历</td>");
        printWriter.write("<td>"+degree+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>身份证号</td>");
        printWriter.write("<td>"+idcard+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>班级</td>");
        printWriter.write("<td>"+tclass+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>讲师</td>");
        printWriter.write("<td>"+teacher+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>学校</td>");
        printWriter.write("<td>"+schoolSchoolId+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>专业</td>");
        printWriter.write("<td>"+major+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>年级</td>");
        printWriter.write("<td>"+grade+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>联系电话</td>");
        printWriter.write("<td>"+tel+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>家庭住址</td>");
        printWriter.write("<td>"+address+"</td>");
        printWriter.write("</tr>\n" +
                "    <tr>\n" +
                "        <td>备注</td>");
        printWriter.write("<td>"+comment+"</td>");
        printWriter.write("</tr>\n" +
                "</table>\n" +
                "\n" +
                "</body>\n" +
                "</html>");


    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request,response);
    }
}

<!DOCTYPE html>
<html lang="en">

<style>
    td {
        border-width: 1px;
        border-style: solid;
    }
</style>

<script type="text/javascript" src="js/jquery-3.6.0.min.js"></script>

<script type="text/javascript">
    $(function() {

        /**
         * 增加验证学生身份证号是否存在功能
         */

        $("#btn_create").click(function(){

            var regName =/^[\u4e00-\u9fa5]{2,4}$/;
            if(!regName.test($.trim($("#stuName").val()))){
                alert('真实姓名填写有误');
                $("#stuName").focus();
                return ;
            }

            var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
            if(!regIdNo.test($.trim($("#idcard").val()))){
                alert('身份证号填写有误');
                $("#idcard").focus();
                return false;
            }

            var regGrade = /^[0-9]{4}$/;
            if(!regGrade.test($.trim($("#grade").val()))){
                alert('年级必须是一个四位的数字');
                $("#grade").focus();
                return false;
            }



            if(!(/^1\d{10}$/.test($.trim($("#tel").val())))){
                alert("手机号码有误,请重填");
                $("#tel").focus();
                return false;
            }
            $("#form1").submit();
        });
    });
</script>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
</head>
<body>
<form action="save.do" method="post" id="form1">
    <table border="1" align="center"
           style="background-color: silver; font-size: 6px; border: solid; border-width: 1px">
        <caption>学员信息管理</caption>
        <tr>
            <td>学生姓名</td>
            <td><input type="text" name="name" id="stuName"></td>

            <td>性别</td>
            <td><input type="radio" name="sex" checked="checked" value=""><input
                    type="radio" name="sex" value=""></td>
        <tr>
        <tr>
            <td>学历</td>
            <td><select name="degree" id="degree" style="width: 150px">
                <option>高中</option>
                <option>专科</option>
                <option>本科</option>
                <option>硕士</option>
                <option>博士</option>
            </select></td>
            <td>身份证号</td>
            <td><input type="text" id="idcard" name="idcard" >&nbsp;&nbsp;&nbsp;
                <span style="color:royalblue;font-size: medium"></span></td>
        <tr>
        <tr>
            <td>班级</td>
            <td><select name="tclass" id="classId"
                        style="width: 150px">

                <option>java</option>
                <option>python</option>
                <option>软件测试</option>
                <option>大数据</option>
                <option>web前端</option>
            </select></td>
            <td>讲师</td>
            <td><select name="teacher" id="teacherId"
                        style="width: 100px">
                <option value="1">张三丰</option>
                <option value="2">鬼谷子</option>
                <option value="3">王阳明</option>
                <option value="4">孔子</option>
                <option value="5">孟子</option>

            </select></td>

        <tr>

        <tr>
            <td>学校</td>
            <td><select name="school.schoolId" id="schoolId"
                        style="width: 160px">
                <option value="001">清华大学</option>
                <option value="002">北京大学</option>
                <option value="003">哈尔滨工业大学</option>
                <option value="004">南京大学</option>
                <option value="005">上海交通大学</option>
                <option value="006">复旦大学</option>
                <option value="007">中国科技大学</option>
                <option value="008">浙江大学</option>
                <option value="009">西安交通大学</option>
            </select></td>

            <td>专业</td>
            <td><input type="text" name="major"></td>
        <tr>
        <tr>
            <td>年级</td>
            <td><input type="text" name="grade" id="grade"></td>

            <td>联系电话</td>
            <td><input type="text" name="tel" id="tel"></td>
        <tr>

        <tr>
            <td>家庭住址</td>

            <td><textarea rows="4" cols="30" name="address"></textarea></td>
            <td>备注</td>
            <td><textarea rows="4" cols="30" name="comment"></textarea></td>
        <tr>
        <tr align="right">
            <td colspan="4"><input type="submit" value="创建" id="btn_create"></td>
        <tr>
    </table>
</form>
</body>
</html>


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的大男子主义

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值