ExtJS登录例子

ExtJS3.30+struts2的一个登录例子

Login.jsp:

<%@ page language="java" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Login</title>
  <link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css" />
  <script type="text/javascript" src="../extjs/adapter/ext/ext-base.js"></script>
  <script type="text/javascript" src="../extjs/ext-all.js"></script>

  <script type="text/javascript" src="../js/login.js"></script>

  </head>
 
  <body>
  <br/><br/><br/><br/><br/><br/>
  <center>
    <div id="login"></div>
    <!--
    <form action="login">
     <table>
      <tr>
       <td>userName:<input type="text" name="userName" /> </td>
      </tr>
      <tr>
       <td>password:<input type="password" name="password" /> </td>
      </tr>
      <tr>
       <td>
        <input type="submit" value="submit" />
           <input type="reset" value="reset" />
       </td>
      </tr>
     </table>
    </form>
     -->
  </center>
  </body>
</html>


LoginSuccess.jsp

<%@ page language="java" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>LoginSuccess</title>
  <link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css" />
  <script type="text/javascript" src="../extjs/adapter/ext/ext-base.js"></script>
  <script type="text/javascript" src="../extjs/ext-all.js"></script>
  <script type="text/javascript" src="../js/loginSuc.js"></script>

  </head>
 
  <body>
    <br>Login successfully ! <br>
    <%=
     request.getSession().getAttribute("userName")
    %>
    <div id="loginSuc"></div>
  </body>
</html>

login.js

Ext.onReady(function() {
 var f = new Ext.form.FormPanel({
  // 数据传送到服务器的配置
  url : "login",
  method : "post",
  baseParams : {
   extra : "attach",
   id : 100
   },
  title : "欢迎登陆",
  width : 300,
  height : 150,
  bodyStyle : "padding: 6px",
  labelAlign : "right",
  frame : true,
  items : [
   new Ext.form.TextField({
   name : "userName",
   allowBlank : false, // 不允许为空
   fieldLabel : "用户名",
   labelAlign : "right"
  }), {
   name : "password",
   xtype : "textfield",
   inputType : "password",
   fieldLabel : "密码",
   allowBlank : false  // 不允许为空
  },{
   name : "date",
   xtype : "datefield",
   fieldLabel : "日期"
  }
  ],
  buttons : [{
   text : "确定",
   handler : function() {
    // 提交表单
    f.getForm().submit({
     success : function(f,action) {
      Ext.Msg.alert("成功","恭喜,表单提交成功,服务器反馈的结果是:" + action.result.msg,function(btn,text){
       if(btn == "ok"){
        window.location.href="LoginSuccess.jsp";
       }
      });
      
//      Ext.MessageBox.confirm("成功","恭喜,表单提交成功",function(btn,text){
//       if(btn == "yes"){
//        window.location.href="LoginSuccess.jsp";
//       }
//         });
     },
     failure : function() {
      Ext.Msg.alert("失败","对不起,表单提交失败");
     }
    });
   }
  }, {
   text : "重置",
   handler : function() {
    f.getForm().reset();
   }
  }]
 });
 f.render("login");
})

 

loginSuc.js

Ext.onReady(function() {
   var f = new Ext.form.FormPanel({
      xtype : "form",
      title : "Login form",
      labelWidth : 100,
      labelAlign : "left",
      layout : "form",
      width : 258,
      height : 200,
      padding : "10px",
      autoScroll : false,
      frame : true,
      items : [{
         xtype : "textfield",
         fieldLabel : "Name",
         anchor : "100%"
        }, {
         xtype : "textfield",
         fieldLabel : "Password",
         anchor : "100%"
        }],
      buttons : [{
         text : "submit"
        }, {
         text : "reset"
        }]
     })
   f.render("loginSuc");
})

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
   
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>


struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "
http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />

    <package name="default" namespace="/" extends="struts-default">
        <action name="login" method="login" class="com.struts2.action.LoginAction">
        </action>
    </package>

    <!-- Add packages here -->

</struts>

LoginAction.java

package com.struts2.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
 /**
  *
  */
 private static final long serialVersionUID = 1L;
 private String userName;
 private String password;
 private String date;
 
 public void login(){
  System.out.println("--------------------------");
  if((userName!=null || !userName.equals("")) && (password!=null || !password.equals(""))){
   System.out.println("userName: " + userName + " password: " + password + " date: " + date);
   HttpServletResponse response = (HttpServletResponse)ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE);
   response.setContentType("text/html;charset=utf-8");
   try {
    PrintWriter out = response.getWriter();
    out.write("{success:true,msg:'服务器结果,成功!'}");
    out.flush();
    out.close();
   } catch (IOException e) {
    e.printStackTrace();
   }
   
   ActionContext context = ActionContext.getContext();
   Map<String, Object> session = context.getSession();
   session.put("userName", userName);
   
  }
 }
 public String getUserName() {
  return userName;
 }
 public void setUserName(String userName) {
  this.userName = userName;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
 public String getDate() {
  return date;
 }
 public void setDate(String date) {
  this.date = date;
 }
 
 
}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值