起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4515|回复: 8

[分享] 分享个普通的实现登陆的简陋例子

  [复制链接]

418

主题

1339

帖子

3011

积分

论坛元老

Rank: 8Rank: 8

积分
3011
QQ
发表于 2015-5-26 18:07:15 | 显示全部楼层 |阅读模式
本帖最后由 费曼 于 2015-5-26 18:07 编辑

①拉两个输入框进行密码和账号的输入
1.png 2.png


两个输入框分别绑定data1的两个关系

②在数据库test下建表(自己爱到哪里建到哪里建)
表.png

因为没有注册界面,也没写注册代码,就自己在数据库加条数据

③建一个web项目 建一个自己的servlet类(继承HttpServlet的类)再进行配置web.xml文件
我这里就不说怎么建web项目了 嫌麻烦 直接用baas的吧

导入baas项目 建一个Myservlet类

se.png


配置web.xml文件(/baas/WEB-INF/web.xml)
  1. <servlet>
  2.                 <servlet-name>login</servlet-name>
  3.                 <servlet-class>com.servlet.MyServlet</servlet-class>
  4.         </servlet>
  5.         <servlet-mapping>
  6.                 <servlet-name>login</servlet-name>
  7.                 <url-pattern>/login</url-pattern>
  8.         </servlet-mapping>
复制代码
④覆盖public void service(ServletRequest arg0, ServletResponse arg1) 方法 实现登陆的功能
这里注意的是需要从前端获取参数params的json格式的参数,具体看⑤的做法
  1. public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
  2.                 Connection conn =null;
  3.                 PreparedStatement ps = null;
  4.                 ResultSet rs = null;
  5.                
  6.                 // 参数序列化 这个是FastJson 。jar包的json解析工具 自己百度一下
  7.                 JSONObject params = (JSONObject) JSONObject.parse(request.getParameter("params"));
  8.                
  9.                 try {
  10.                         //JDBC的东西 自己到网上百度JDBC
  11.                         Class.forName("com.mysql.jdbc.Driver");
  12.                         conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root","x5");
  13.                         conn.setAutoCommit(false);
  14.                         ps = conn.prepareStatement("select * from user where username=? and password = ?");
  15.                         //设置参数
  16.                         ps.setString(1, params.getString("username"));
  17.                         ps.setString(2, params.getString("password"));
  18.                         rs = ps.executeQuery();
  19.                         String str = null;//返回信息
  20.                         if(rs.next()){
  21.                                 //成功登录
  22.                                 str = "{state:true,message:'登陆成功!'}";
  23.                         }else{
  24.                                 str = "{state:false,message:'账号或密码错误!'}";
  25.                         }
  26.                         
  27.                         //向前端返回信息
  28.                         response.setContentType("text/html;charset=utf-8");
  29.                         response.getWriter().write(str);
  30.                         
  31.                 } catch (SQLException | ClassNotFoundException e) {
  32.                         e.printStackTrace();
  33.                 }finally{
  34.                         //关闭资源
  35.                         try {
  36.                                 if(rs!=null){
  37.                                         rs.close();
  38.                                 }
  39.                                 if(ps!=null){
  40.                                         ps.close();
  41.                                 }
  42.                                 if(conn!=null){
  43.                                         conn.close();
  44.                                 }
  45.                                 
  46.                         } catch (SQLException e) {
  47.                                 e.printStackTrace();
  48.                         }
  49.                 }

  50.         }
复制代码
⑤前端使用ajax发送请求
  1.         Model.prototype.button4Click = function(event){
  2.                 var data = this.comp("data1");
  3.                
  4.                 //JSON对象封装参数                        
  5.                 var options = {
  6.                         "username":data.getValue("username"),
  7.                         "password":data.getValue("password"),
  8.                 };
  9.                
  10.                 //登陆
  11.                 $.ajax({
  12.              type: "GET",
  13.              //url的写法是/项目名/请求 参考servlet的知识
  14.              url: "/baas/login",
  15.              //把json对象转成字符串 相当于在url后增加        url?params={username:XXXX,password:XXXXX}
  16.              data:"params="+JSON.stringify(options),
  17.              success: function(result){
  18.                      //rusult为后端传回来的数据 response.getWriter().write(str); 下面语句为转换成json对象
  19.                      result = eval("("+result+")");
  20.                      if(result.state){
  21.                              //{state:true,message:'登陆成功!'}
  22.                              alert(result.message);
  23.                      }else{
  24.                              //{state:false,message:'账号或密码错误!'}
  25.                              alert(result.message);
  26.                      }
  27.              },
  28.              error:function(result){
  29.                      alert("登陆错误");
  30.              }
  31.          });
  32.         };
复制代码

效果图 111_副本.png



2

主题

441

帖子

2572

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2572
发表于 2015-5-26 23:20:15 | 显示全部楼层
很好,顶!
回复

使用道具 举报

2

主题

441

帖子

2572

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2572
发表于 2015-5-26 23:21:59 | 显示全部楼层
建议楼主把这篇帖子写到博客里去(文档中心就是博客)。
回复 支持 反对

使用道具 举报

73

主题

292

帖子

1410

积分

金牌会员

Rank: 6Rank: 6

积分
1410
QQ
发表于 2015-5-26 23:22:27 来自手机 | 显示全部楼层
的确有点简陋,不过迈出了第一步,可喜!
回复 支持 反对

使用道具 举报

18

主题

59

帖子

159

积分

初级会员

Rank: 2

积分
159
QQ
发表于 2015-10-13 09:23:55 | 显示全部楼层
13.             //url的写法是/项目名/请求 参考servlet的知识

14.             url: "/baas/login",
URL也是这样的写的
是不是我的URL写的不对 能详细说下吗
完全重建本贴环境 报错
Unexpected end of input
隐藏详细
SyntaxError: Unexpected end of input at Object.Model.button22Click.$.ajax.success (http://localhost:8080/x5/$v795884633a7e4a1187859f49952b95cc$lzh_CN$sdesktop$d/UI2/hello/mainActivity.js:354:46) at h.Callbacks.f (http://localhost:8080/x5/$v43a457bfadd549ed8785726d6616ebd6$lzh_CN$sdesktop$d/UI2/system/core.min.js:36:57318) at Object.h.Callbacks.l.fireWith [as resolveWith] (http://localhost:8080/x5/$v43a457bfadd549ed8785726d6616ebd6$lzh_CN$sdesktop$d/UI2/system/core.min.js:36:58130) at x (http://localhost:8080/x5/$v43a457bfadd549ed8785726d6616ebd6$lzh_CN$sdesktop$d/UI2/system/core.min.js:36:103570) at XMLHttpRequest.h.ajaxTransport.e.send.t (http://localhost:8080/x5/$v43a457bfadd549ed8785726d6616ebd6$lzh_CN$sdesktop$d/UI2/system/core.min.js:36:109840)





回复 支持 反对

使用道具 举报

25

主题

83

帖子

181

积分

初级会员

Rank: 2

积分
181
QQ
发表于 2015-10-17 15:41:01 | 显示全部楼层
你好。我想问下,,在bex5也可以按照这些步骤开发么
回复 支持 反对

使用道具 举报

16

主题

118

帖子

265

积分

中级会员

Rank: 3Rank: 3

积分
265
QQ
发表于 2016-5-21 19:44:35 | 显示全部楼层
您好,我现在也在弄,我因此第一次写,所有有很多疑问,首先,我的后端是java,tomcat,eclipse,mysql,这些内容是我自己建立的,我现在问题是,servlet,我建在我自己的后端,问题,是xml配置文件,我放在哪里呢?我现在最大的问题是,我独立我用自己的也可以写代码,就是长得比较丑,我用WEX5也能实现,但是我要是仅仅wex5加上我的后端我就实现不了。比如这里的web工程,我们在自己后端需要建立web工程吗?不需要吧,应该是直接建立servlet和配置xml,但是我搞不清楚配置在哪里了?O(∩_∩)O谢谢!
回复 支持 反对

使用道具 举报

11

主题

163

帖子

761

积分

高级会员

Rank: 4

积分
761
QQ
发表于 2016-5-22 09:57:56 | 显示全部楼层
感觉不错~~~~~~~
回复

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2016-5-22 18:46:14 | 显示全部楼层
对servlet一窍不通
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 04:30 , Processed in 0.061826 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表