我有两个文件,一个是前端import re
s = "Chapter 1: Black brown fox 45"
print(filter(None, re.findall(r'\bChapter\s*\d+\b|\b(\w+)\b',s)))
,后端是login.jsp
。我想从loginUser.java
获取boolean
。但是,出现错误loginUser.java
。我不知道为什么会这样。我该如何解决这个错误?感谢。
以下是我的代码' login.jsp':
java.lang.IncompatibleClassChangeError
以下是我的代码:loginUser.java':
try{
out.println("HT");
login.LoginUser user = new login.LoginUser(id,pwd);
boolean login_success = user.isLogin(); <---This line have error.
//int role_id = user.get_role_id();
if (login_success){
out.println("Login Success");
// out.println(user.get_role_id().toString());
%>
<script>
setTimeout(function () {
window.location.href = "control_panel.jsp"; //will redirect to your blog page (an ex: blog.html)
},2000);
</script>
<%
}
else{
out.println("Login Failed");
%>
但是,当我将行public class LoginUser {
private String username,password;
public boolean login_success;
public int role_id;
public LoginUser(String username,String password){
this.username=username;
this.password=password;
this.login_success=false;
this.role_id = 0;
}
public boolean login(){
db.DataConnect conn = new db.DataConnect();
conn.connect();
ResultSet login_result;
String sql_statement = "SELECT COUNT(*) AS user_found, role_id FROM t_user WHERE user_name = '" + this.username + "' AND password = '" + this.password + "'";
System.out.println(sql_statement);
try{
login_result = conn.select(sql_statement);
if(login_result.next()){
if(login_result.getInt("user_found") == 1){
login_success = true;
role_id = login_result.getInt("role_id");
}
}
} catch (Exception e) {System.out.println(e);}
conn.close();
return login_success;
}
public boolean isLogin(){
return true;
}
}
更改为boolean login_success = user.isLogin();
时,错误将不会出现。
答案 0 :(得分:0)
由于错误清楚地表明类文件不兼容,您可以通过重新编译源文件然后添加到服务器类路径来解决问题。
当某个类发生不兼容的类更改时抛出 定义。某些类的定义,目前在哪个类上 执行方法取决于,后来改变了。