永发信息网

Servlet为什么不能检测邮箱格式???

答案:2  悬赏:20  手机版
解决时间 2021-07-18 13:32

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class LoginServlet extends HttpServlet
{
Hashtable hashtable = new Hashtable();
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public synchronized void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=GB2312");
out.print("<HTML><BODY topmargin=100>");
//获取提交的信息
String person_name = request.getParameter("name");
String found_name = null;
if(person_name == null)
{
person_name = "";
}
//从散列表中查找是否已经存在名字
found_name = (String)hashtable.get(person_name);
if(found_name == null)
{
String person_email = request.getParameter("email");
if(person_email == null)
{
person_email = "";
}
StringTokenizer fenxi = new StringTokenizer(person_email," @");
int n = fenxi.countTokens();
if(n >= 3)
{
out.print("<BR>there are exsits illegal letters in you email!");
}
else
{
hashtable.put(person_name,person_name);
out.print("<BR>" + "Login success!");
out.print("<BR>" + "your name is " + person_name);
}
}
else
{
out.print("<BR>" + "This name is exist!");
}
out.print("</BODY></HTML>");
}
public synchronized void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
doPost(request,response);
}
}

jsp
<%@ page contentType="text/html;charset=GB2312"%>
<HTML>
<META name="keywords" content="login,submit"></META>
<META name="description" content="login"></META>
<BODY topmargin=50>
<Table align=center>
<TR>
<TD>
<FORM action="servlet/LoginServlet" method=post>
用户名:
<Input type=text name="name">
<BR>
邮箱:
<Input type=text name="email">
<BR>
<Input type="submit" name="submit" value="提交">
</FORM>
</TD>
</TR>
</Table>

最佳答案

int n = fenxi.countTokens();
if(n >= 3)
{
out.print("<BR>there are exsits illegal letters in you email!");
}
else
{
hashtable.put(person_name,person_name);
out.print("<BR>" + "Login success!");
out.print("<BR>" + "your name is " + person_name);
}


这段代码的逻辑出现错误了.


你的email本来就是空了,怎么还可能有 @ 呢? 所以那个条件自然是flase, 所以就会执行else代码

全部回答

其实这个问题你可以看下servlet 的GET 与POST提交的区别就可以了

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
诺基亚5800用过的觉得怎样,好用吗
诺基亚N70为什么收不了10086的信息呢!
(浮生若梦)帮我加个好看的符号
怎样可以重Q B
The Way I Are (Deejay-jany Rad)
招远那里有卖摩托车十二伏低音炮得,急急!还
求一个背景音乐是the magic key的舞蹈
刀子嘴豆腐心的人好吗?
我想玩炫舞、可是用电信3G下载太慢了、我试过
怎样才能把百度上的视频下载到手机上?
请问有谁知道千层蛋糕的配方和打法吗!
CF怎样打空格
为什么我用问问积分换的QB还没有收到我?
右面乳.房的外侧一摸有颗珠子大小的东西怎么
战地之王下载好了为什么不能玩呢?
推荐资讯
电脑黑屏开了电源一个字母都不显示了修下要多
怎么才能交到真心的朋友
地下城你元素做觉醒任务时都需要什么?提一下
点解女人要伤男人的心吖
DNF中狂战的技能
鱼吃黄豆吗??
我现在在淮南安成铺想到合肥做火车回厦门请问
诛仙鬼王应该怎样加点
女式什么牌子的羽绒服好些?
笔记本电脑外放响,耳机不响,但有电流声音
为什么游戏人生荣誉不能上报了?
极品飞车怎么安装?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?