会员注册java web_【示例】手把手教你构建一个简单的JavaWeb应用(会员注册唯一性检查,不带数据库)...

【示例】手把手教你构建一个简单的JavaWeb应用(会员注册唯一性检查,不带数据库)

Eclipse配置Tomcat

服务器创建好之后可以双击下图指示的位置打开服务器设置

0df166c64b719ef02361e7d591381963.png

可以看到在红圈位置中,选择的是一个选项,就在当前的开发位置进行配置开发,Deploy path为wtpwebapps。所以我在当前文件夹下新建了名为wtpwebapps的文件夹,待会的项目就创建在此

551ea4424dc4c854857cee8bb0940aaa.png

新建CheckUser项目

8f09d70b980fbcd9311fa2a16fdafbef.png

只需要填好项目名称就好其他的不用改变,注意选择路径为E:\eclipse-workspace\wtpwebapps

f8aa9aa6d1e50a426b665e0e83d25558.png

接下在Project Explorer就可以看到当前的文件结构,主要用用到的就是Java Resource, WebContent

d3b40468bde455f1a77583d21fbbd95b.png

在Java Resource\src 下新建class文件填入代码,这里的代码就是服务器端处理代码

1 import java.io.*;2 import javax.servlet.*;3 import javax.servlet.http.*;4 public class CheckUser extends HttpServlet {//创建servlet

5 public voiddestroy()6 {7 super.destroy();8 }9 public void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException,IOException10 {11 doPost(request,response);12 }13 public void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException,IOException14 {15 response.setContentType("text/html");16 PrintWriter out=response.getWriter();17 String[] logined= {"bts","army","admin"};//当前已经注册过的会员

18 String loginName=request.getParameter("loginName");//从request请求中得到填入的会员名字

19 String responseContext="true";//初始化返回值为true

20 for( String s:logined) if(loginName.equals(s)) responseContext="false"; //遍历已注册会员,如果名字已存在则设置返回值为false

21 out.println(responseContext);//向前端输出值22 out.flush();23 out.close();24 }25 public void init() throwsServletException{}26 }

接着开始编写index.html页面,主页页面保存在WebContent文件夹下,而不是WEB-INF

1

2

3

4

5

检查用户唯一性

6

7

8 varxmlHttp;9 functioncreatXMLHttpRequest()10 {11 if(window.ActiveXObject){xmlHttp=newActiveXObject("Microsoft.XMLHTTP");}12 else if(window.XMLHttpRequest){xmlHttp=newXMLHttpRequest();}13 }14 functionbeginCheck()15 {16 vartempLoginName=document.all.loginName.value;17 if(tempLoginName=="") {alert("please input the name");return;}18 creatXMLHttpRequest();19 xmlHttp.onreadystatechange=processor;20

21 xmlHttp.open("GET","CheckUser?loginName="+tempLoginName);22 xmlHttp.send(null);23

24 }25 functionprocessor()26 {27 varresponseContext;28 if(xmlHttp.readyState==4){29 if(xmlHttp.status==200)30 {31 responseContext=xmlHttp.responseText;32 if(responseContext=="true") alert("valid");33 elsealert("invaild");34 }35 }36 }37

38

39

40

41

42

43

44

在WEB-INF下新建文件web.xml对刚刚的项目进行配置,注意的就是/CheckUser 开头不能少/

1 <?xml version="1.0" encoding="UTF-8"?>

2

3

4

5

6 CheckUser

7 CheckUser

8

9

10 CheckUser

11 /CheckUser

12

13

14

运行

46dd4519be1e4b72500dfd0bf5f9dc06.png

选择刚刚配置好的服务器

d325e9bc10cad13ddc1428ea659c0af6.png

点击finishi,马上页面就会跳转

37dc88bbdc4f5ba8f0ce42c2e1cd179f.png

同时打开console可以看到刚刚server启动的详细情况

d9abec8ba5dcc6ae695088319156ecea.png

测试

可以直接就在eclipse里面看,也可以复制地址到浏览器,现在在输入框中填写名字

4bf3de18392d4c48f26373615f2475e6.png

然会就会发现只有点回车才会有用,单击按钮没有反应

ddaa6d988887a87d792467566f0db7ec.png

这是因为之前在input设置的就是button 将他修改为submit即可

然后要解决并没有按照js写的alert而是直接输出后台的值的问题,查看代码发现xmlHttp.onreadystatexhanges=processor; 打错了修正为xmlHttp.onreadystatechange=processor;((+_+)?我也不知道为啥打错了)

接着运行

2a182cec25f4f6d67338a5bca008cc84.png

但是又发现点击确定后还会跳转到写了结果的页面,这是为什么呢???

上面代码已修改一直错误,这个问题还没有解决2019-03-07

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值