实现提交表单以后判断输入的信息是否符合条件

 

 若符合条件

 

先新建servlet

 Sevlet的两种声明方式,二选一即可

 再到web.xml里注册

 

register.jsp就是表单的界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
errorPage="error.jsp"%>
<%
String ser_msg = (String)request.getAttribute("server_info");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<link href="css/style.css" rel="stylesheet" type="text/css"/>
<style>
dl{width: 500px;}
dt{width: 80px; float: left; height: 40px; text-align: right;}
dd{width: 360px; float: left; height: 40px; margin: 0px 0px 0px 10px;}
input[type=text],input[type=password]{width: 300px; height: 25px; border-radius: 10px; border solid 2px #999;}
#main{
width:400px;
margin:auto;
}
#main h2{
text-aligh:center;
margin-left:100px;
}
#info{color:#f00; font-weight:bold;}
</style>
<script>
</script>
<body>
<div id="main" >
<h2>用户注册</h2>
<!-- 提交,发生动作 reg_action.jsp-->
<form action="reg" method="post">
<dl>
<dt>用户名:</dt><dd><input type="text" name="usercode"></dd>
<dt>密码:</dt><dd><input type="password" name="userpass"></dd>
<dt>确认密码:</dt><dd><input type="password" name="confpass"></dd>
<dt>姓名:</dt><dd><input type="text" name="username"></dd>
<dt>Email:</dt><dd><input type="text" name="email"></dd>
<dt>性别:</dt><dd><input type="radio" name="gender" value="0" checked>
男 <input type="radio" name="gender" value="1">女</dd>
<dt>职业:</dt><dd><select name="occupation">
<option value="a">战士(Warrior)</option>
<option value="b">坦克(Tank)</option>
<option value="c">刺客(Assassin)</option>
<option value="d">法师(Mage)</option>
<option value="e">射手(Archer)</option>
<option value="f">辅助(Support)</option>
</select></dd>
<dt>兴趣爱好:</dt><dd><input type="checkbox" name="hobby" value="吃饭">吃饭
<input type="checkbox" name="hobby" value="睡觉">睡觉
<input type="checkbox" name="hobby" value="豆豆">打豆豆</dd>
<dt>出生日期:</dt><dd><input type="date" name="birthday"></dd>
<dt>照片:</dt><dd><input type="file" name="photo"></dd>
<dt>自我介绍:</dt><dd><textarea name="introduce"></textarea></dd>
<dt></dt><dd><input type="checkbox" name="read" value="1">我已阅读《用户协议》</dd> <%=ser_msg == null? "":"<dt></dt><dd><span id='info'>"+ser_msg+"</span></dd>"%>
<dt></dt><dd><input type="submit" value="注 册">&nbsp;&nbsp;
<input type="reset" value="取 消"></dd>
</dl>
</form>
</div>
</body>
</html>

在servlet里的doGet里写判断语句

前端register.jsp获取servlet传来的msg

doGet代码

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String ucode = request.getParameter("usercode");
String msg;
RequestDispatcher rd = request.getRequestDispatcher("register.jsp");
PrintWriter out = response.getWriter();
out.print("usercode: " + ucode);
if(ucode.equals("管理员")){
//response.sendRedirect("register.jsp");页面跳转
msg = ucode + "不能使用!";
request.setAttribute("server_info", msg); rd.forward(request, response);
}
if(ucode.length()<8 || ucode.length()>20){
msg = ucode+"长度不符合要求";
request.setAttribute("server_info", msg);
rd.forward(request, response);
}
if(!Tools.checkChar(ucode)) {
msg = ucode+"包含非法字符";
request.setAttribute("server_info", msg);
rd.forward(request, response);
} }

Tools.java是我用来专门处理不符合条件的一个java代码,全写进servlet里太乱了,之后要写入到Tools里

servlet前面导入一下

Tools.java的代码如下:

package com.xx17.cys.base;

public class Tools {

    public static int getNum(String str) {
int result = 0;
try{
if(str.length()>0) {
result = Integer.parseInt(str);
}
}catch(Exception e){
}
return result;
} /*
* 判断是否包含非法字符
* 返回:包含(false)、不包含(true)
* 修改:cys,2019-4-4
* */
public static boolean checkChar(String str) {
boolean result = true;
String validStr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for(int i=0; i<str.length();i++) {
String s = str.substring(i, i+1);
if(validStr.indexOf(s)==-1) {
System.out.println(s+"非法字符!!!");
result = false;
break;
}
}
return result;
}
}

Web jsp开发学习——Servlet提交表单时用法的更多相关文章

  1. 11.VUE学习之提交表单时拿到input里的值

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  2. JavaWeb网上图书商城完整项目--day02-4.regist页面提交表单时对所有输入框进行校验

    1.现在我们要将table表中的输入的参数全部提交到后台进行校验,我们提交我们是按照表单的形式提交,所以我们首先需要在table表外面添加一个表单 <%@ page language=" ...

  3. Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)

    本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ...

  4. POST方式提交表单时,后台接受实体如果继承了父类,将无法映射表单对应数据

    引言 刚才在做一个post提交表单时,我在表单里放了几个隐藏域用来存放数据,表单name属性和后台实体属性签名保持一致.只是后台Action参数包含继承关系,所以无法获取到表单对应的值.刚开始一直纳闷 ...

  5. php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别

    if(isset($_POST['submit'])) 它的意思是不是判断是否配置了$_POST['submit'] 这个变量呢?如果有这个变量 在执行其它代码 应该这样用if(isset($_POS ...

  6. submit()提交表单时,显示警示框

    我同事在实现submit()提交表单时,想要页面弹出警示框. 但是折腾了几小时后发现,submit()始终不执行. 她的代码如下: $(document).ready(function(){ $(&q ...

  7. 只有设置了 name 属性的表单元素才能在提交表单时传递它们的值

    $(function () { var wait = $("<img src=\"\" alt=\"正在上传\"/>"); $( ...

  8. POST提交表单时EnType设置问题

    POST提交表单时EnType设置问题 首先知道enctype这个属性管理的是表单的MIME编码.共有三个值可选: 1.application/x-www-form-urlencoded 2.mult ...

  9. KindEditor:Ajax提交表单时获取不到HTML内容

    当用Ajax提交表单时,KindEditor的内容获取不到,HTML数据获取不了 原因:当ajax提交时,KindEdito的HTML数据还没有同步到表单中来,那怎么去获取HTML数据呢? ----- ...

随机推荐

  1. linux rpm yum 安装 软件

    rpm 安装: 1.rpm包的了解:  rpm  安装  升级  删除 rpm -ivh  ****.rpm   安装 rpm -Uvh  ****.rpm  升级 rpm -e name    删除 ...

  2. RESTful规范(二)

    七 解析器 解析器的作用: -用来解析前台传过来的数据编码方式 urlencoded:form表单:name=lqz&age= formdata :上传文件:--dadfgdgag-- jso ...

  3. ubuntu安装mysql遇到的问题

    ERROR 1698 (28000): Access denied for user 'root'@'localhost' ubantu linux下安装新版mysql,登录时必须sudo mysql ...

  4. 【Wannafly挑战赛24】【C失衡天平】

    https://www.nowcoder.com/acm/contest/186/C 题意:有n个武器,每个武器都有一个重量 Wi,有一个天平,只要两端的重量差不大于m就能达到平衡,求在天平平衡的情况 ...

  5. 对中文进行MD5加密的注意事项(Java版,编码问题)

    http://blog.csdn.net/tongdao/article/details/20690187 在工作中需要和第三方进行Http通信,在通信内容中有几个参数涉及到了中文.自己在进行MD5加 ...

  6. CentOS7.1 KVM虚拟化之环境准备

    备注:实验没有问题,只是暂时还不知道弄这个用来干嘛,不过先留着以后查看吧 一.基础平台 1.一台装有VMware的Windows系统 (可联网) 2.CentOS7.1 64bit 镜像 二.最小化安 ...

  7. Spring 框架的历史

    2002 年 10 月,Rod Johnson 撰写了一本名为 Expert One-on-One J2EE 设计和开发的书.本书由 Wrox出版,介绍了当时 Java 企业应用程序开发的情况,并指出 ...

  8. babel-loader和webpack UglifyJS一起使用时console的问题

    一起使用babel-loader和webpack UglifyJS时,babel会优先处理一遍代码,编译后的代码才进入webpack进行打包和优化操作. 出处:https://www.tangshua ...

  9. 关于 TypeReference 的解释

    首先 TypeReference  是描述 一个复杂 泛型的工具类. TypeReference 很多类库都有,用 fastjson 的 举例,大概就这个意思. 例子: Response<Fee ...

  10. laravel ORM 模型关联 with () 用法

    关联时想对关联表数据筛选时:MySQL查询: SELECT * FROM A LEFT JOIN B ON A.B_id = B.id AND B.condition = $condition ORM ...