Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查struts2中是否已存在该用户_Java_Validation_Jsp_Struts2_Struts2 Interceptors - Fatal编程技术网

Java 检查struts2中是否已存在该用户

Java 检查struts2中是否已存在该用户,java,validation,jsp,struts2,struts2-interceptors,Java,Validation,Jsp,Struts2,Struts2 Interceptors,在这里,我想如果用户试图注册我的表中已经存在的代码,那么它应该提供一个错误 此代码已被使用,请尝试使用其他代码 我想用Struts2做这个。下面是我的动作课 我所做的是:首先,我使用resultset启动了一个选择代码的查询,并将所有结果存储在字符串变量temp\u user和validate()方法中,我刚刚使用equals(temp\u user)方法对其进行了比较,但它不起作用 RegisterAction.java package org.entity; import java.io.

在这里,我想如果用户试图注册我的表中已经存在的代码,那么它应该提供一个错误

此代码已被使用,请尝试使用其他代码

我想用Struts2做这个。下面是我的动作课

我所做的是:首先,我使用resultset启动了一个选择代码的查询,并将所有结果存储在字符串变量
temp\u user
validate()
方法中,我刚刚使用
equals(temp\u user)
方法对其进行了比较,但它不起作用

RegisterAction.java

package org.entity;

import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.wsdl.Message;

import org.apache.struts2.interceptor.SessionAware;

import nl.captcha.Captcha;

import com.opensymphony.xwork2.ActionSupport;

public class RegistrationAction extends ActionSupport implements SessionAware {
    BloodBank register;
    private Map<String, Object> session;
    private String temp_user;

    public BloodBank getRegister() {
        return register;
    }

    public void setRegister(BloodBank register) {
        this.register = register;
    }

    public Map<String, Object> getSession() {
        return session;
    }

    public void setSession(Map<String, Object> session) {
        this.session = session;
    }

    public String getTemp_user() {
        return temp_user;
    }

    public void setTemp_user(String temp_user) {
        this.temp_user = temp_user;
    }

    @Override
    public String execute() throws Exception {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/foryou", "root", "siddheshkk");
            System.out.println("Driver Loaded");
            Statement st12 = con.createStatement();
            PreparedStatement st = con
                    .prepareStatement("insert into bbinfo(code,name,address,city,district,contactno,stdcode,password,aname,email) "
                            + "values(?,?,?,?,?,?,?,?,?,?)");
            st.setString(1, register.getCode());
            st.setString(2, register.getBbname());
            st.setString(3, register.getAddress());
            st.setString(4, register.getCity());
            st.setString(5, register.getDistrict());
            st.setString(6, register.getNumber());
            st.setString(7, register.getStd());
            st.setString(8, register.getPassword());
            st.setString(9, register.getAname());
            st.setString(10, register.getEmail());
            st.executeUpdate();
            st.close();

            PreparedStatement st1 = con
                    .prepareStatement("insert into stockinfo(name,city,address,contact,email,code,stdcode,apositive,anegative,bpositive,bnegative,abpositive,abnegative,opositive,onegative)"
                            + "values(?,?,?,?,?,?,?,'0','0','0','0','0','0','0','0')");
            st1.setString(1, register.getBbname());
            st1.setString(2, register.getCity());
            st1.setString(3, register.getAddress());
            st1.setString(4, register.getNumber());
            st1.setString(5, register.getEmail());
            st1.setString(6, register.getCode());
            st1.setString(7, register.getStd());
            st1.executeUpdate();
            st1.close();
            System.out.println("done");
            ResultSet rs12 = st12.executeQuery("select code from bbinfo");
            while (rs12.next()) {
                temp_user = rs12.getString("code");
            }

            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "success";
    }

    @Override
    public void validate() {
        super.validate();
        if (register.getCode().length() < 1 | register.getCode().equals("")) {
            addFieldError("register.code", "Mandatory Field.");
        }
        if(register.getCode().equals(getTemp_user()))
        {
            addFieldError("register.code", "This Code is already taken. Please try different one.");
        }
        if (register.getBbname().equals("") | register.getBbname().length() < 1) {
            addFieldError("register.bbname", "Invalid Name");
        }
        if (register.getAddress().equals("")) {

            addFieldError("register.address", "Invalid Address");
        }
        if (register.getCity().equals("")) {
            addFieldError("register.city", "Invalid City");

        }
        if (register.getDistrict().equals("")) {
            addFieldError("register.district", "Invalid District");

        }
        if (register.getPassword().length() > 8
                | register.getPassword().equals("")) {
            addFieldError("register.password", "Please Enter a valid Password");
        }
        if (!(register.getConfirm().equals(register.getPassword()))) {
            addFieldError("register.confirm", "Password doesnt match");
        }
        if (register.getConfirm().isEmpty()) {
            addFieldError("register.confirm", "Please enter confirmed password");
        }
        if (register.getAname().equals("")) {
            addFieldError("register.aname", "Please enter your name");
            ;
        }
        if (register.getEmail().equals("")) {
            addFieldError("register.email", "Invalid Email Id");
        } else {
            String expression = "^[\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
            CharSequence inputStr = register.getEmail();
            Pattern pattern = Pattern.compile(expression,
                    Pattern.CASE_INSENSITIVE);
            Matcher matcher = pattern.matcher(inputStr);
            if (!matcher.matches())
                addFieldError("register.email", "Invalid email address");
        }
        Captcha captcha = (Captcha) session.get(Captcha.NAME);
        if (!(captcha.isCorrect(register.getCaptchaAnswer()))) {
            addFieldError("register.captchaAnswer", "incorrect captcha");
        }

    }
}
package org.entity;
导入java.io.*;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.PreparedStatement;
导入java.sql.ResultSet;
导入java.sql.Statement;
导入java.util.Map;
导入java.util.regex.Matcher;
导入java.util.regex.Pattern;
导入javax.wsdl.Message;
导入org.apache.struts2.interceptor.SessionAware;
导入nl.captcha.captcha;
导入com.opensymphony.xwork2.ActionSupport;
公共类注册操作扩展ActionSupport实现SessionAware{
血库登记;
私人Map会议;
私有字符串临时用户;
公共血库{
报税登记册;
}
公共登记簿(血库登记簿){
this.register=寄存器;
}
公共映射getSession(){
返回会议;
}
公共无效设置会话(映射会话){
this.session=会话;
}
公共字符串getTemp_user(){
返回临时用户;
}
公共void settmp\u用户(字符串临时用户){
this.temp_user=temp_user;
}
@凌驾
公共字符串execute()引发异常{
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(
“jdbc:mysql://localhost:3306/foryou“,”根“,”siddheshkk”);
System.out.println(“驱动程序加载”);
语句st12=con.createStatement();
准备好的报表st=con
.prepareStatement(“插入bbinfo(代码、姓名、地址、城市、地区、联系人编号、标准代码、密码、名称、电子邮件)”
+“值(?,,,,,,,,,,,,,,,,,?)”;
st.setString(1,register.getCode());
st.setString(2,register.getBbname());
st.setString(3,register.getAddress());
st.setString(4,register.getCity());
st.setString(5,register.getDistrict());
st.setString(6,register.getNumber());
st.setString(7,register.getStd());
st.setString(8,register.getPassword());
st.setString(9,register.getAname());
st.setString(10,register.getEmail());
st.executeUpdate();
圣克洛斯();
准备好的报表st1=con
.prepareStatement(“插入股票信息(姓名、城市、地址、联系人、电子邮件、代码、标准代码、A正、A负、B正、B负、A正、B负、A负、A正、B负、A正、B正、B正、C正、C正、A负)”
+“值(?,,,,,,,,,,,,,,,,,,'0','0','0','0','0','0','0','0','0')”;
st1.setString(1,register.getBbname());
st1.setString(2,register.getCity());
st1.setString(3,register.getAddress());
st1.setString(4,register.getNumber());
st1.setString(5,register.getEmail());
st1.setString(6,register.getCode());
st1.setString(7,register.getStd());
st1.executeUpdate();
st1.close();
系统输出打印项次(“完成”);
ResultSet rs12=st12.executeQuery(“从bbinfo中选择代码”);
while(rs12.next()){
temp_user=rs12.getString(“代码”);
}
con.close();
}捕获(例外e){
e、 printStackTrace();
}
返回“成功”;
}
@凌驾
public void validate(){
super.validate();
if(register.getCode().length()<1 | register.getCode().equals(“”){
addFieldError(“register.code”,“必填字段”);
}
if(register.getCode().equals(getTemp\u user()))
{
addFieldError(“register.code”,“此代码已被占用。请尝试其他代码。”);
}
if(register.getBbname().equals(“”)register.getBbname().length()<1){
addFieldError(“register.bbname”,“无效名称”);
}
if(register.getAddress()等于(“”){
addFieldError(“寄存器地址”,“无效地址”);
}
if(register.getCity().equals(“”){
addFieldError(“register.city”,“Invalid city”);
}
if(register.getDistrict()等于(“”){
addFieldError(“register.district”、“Invalid district”);
}
如果(register.getPassword().length()>8
|register.getPassword()等于(“”){
addFieldError(“register.password”,“请输入有效密码”);
}
如果(!(register.getConfirm().equals(register.getPassword())){
addFieldError(“register.confirm”,“密码不匹配”);
}
if(register.getConfirm().isEmpty()){
addFieldError(“register.confirm”,“请输入确认密码”);
}
if(register.getAname().equals(“”){
addFieldError(“register.aname”,“请输入您的姓名”);
;
}
if(register.getEmail().equals(“”){
addFieldError(“register.email”,“无效的电子邮件Id”);
}否则{
字符串表达式=“^[\\w\\-]([\\.\\w])+[\\w]+@([\\w\\\-]+\\)+[A-Z]{2,4}$”;
CharSequence inputStr=register.getEmail();
Pattern=Pattern.compile(表达式,
模式(不区分大小写);
Matcher Matcher=pattern.Matcher(inputStr);
如果(!matcher.matches())
addFieldError(“register.e
String temp_user = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/foryou", "root", "siddheshkk");
            System.out.println("Step 1");
            Statement st12 = con.createStatement();
            ResultSet rs12 = st12.executeQuery("select code from bbinfo");
            while (rs12.next()) {

                temp_user = rs12.getString("code");
                System.out.println("step2");
                if (register.getCode().equals(temp_user)) {
                    addFieldError("register.code",
                            "This username is already taken .Try Different one !");
                    System.out.println("sid");
                }

            }
            st12.close();
        } catch (Exception e) {
            e.printStackTrace();
        }