Java 检查struts2中是否已存在该用户
在这里,我想如果用户试图注册我的表中已经存在的代码,那么它应该提供一个错误 此代码已被使用,请尝试使用其他代码 我想用Struts2做这个。下面是我的动作课 我所做的是:首先,我使用resultset启动了一个选择代码的查询,并将所有结果存储在字符串变量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.
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();
}