使用 MVC Java 创建简单示例
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/13873847/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Create example simple with MVC Java
提问by user1871578
I have a simple example to check login of user using MVC Model..
我有一个简单的例子来检查使用 MVC 模型的用户登录..
LoginModel:
登录模式:
public class LoginModel {
private String username;
private String password;
public LoginModel()
{
}
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @param username the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
}
}
LoginView:
登录查看:
public class LoginView {
LoginModel user;
//Ham khoi tao cho LoginView
public LoginView(LoginModel user)
{
this.user=user;
}
public void showMessage(String msg)
{
System.out.println(msg);
}
public void getUserInfo()
{
try
{
DataInputStream input=new DataInputStream(System.in);
System.out.println("Username:");
user.setUsername(input.readUTF());
System.out.println("Password:");
user.setPassword(input.readUTF());
input.close();
}
catch(IOException e)
{
System.out.println(e);
}
} }
} }
LoginControl:
登录控件:
public class LoginControl {
LoginModel user;
LoginView view;
public LoginControl(LoginModel user,LoginView view)
{
this.user=user;
this.view=view;
while(true)
{
view.getUserInfo();
if(checkLogin())
{
view.showMessage("Success");
}
else
{
view.showMessage("Wrong username or password");
}
}
}
private boolean checkLogin()
{
if((user.getUsername().equals("sa"))&&(user.getPassword().equals("sa")))
{
return true;
}
return false;
}
}
}
LoginMain:
登录主:
public class LoginMVC {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
LoginModel user=new LoginModel();
LoginView view=new LoginView(user);
LoginControl control=new LoginControl(user, view);
}
}
}
But when I run main class,It's only username: and input user and stop.. I don't known where is error. Can you help me.
但是当我运行主类时,它只是 username: 并输入用户并停止..我不知道错误在哪里。你能帮助我吗。
采纳答案by vels4j
I am not sure why DataInputStream
is not working, I suggest to use Scannerfor getting input from console in getUserInfo
method.
我不确定为什么DataInputStream
不起作用,我建议使用Scanner在getUserInfo
方法中从控制台获取输入。
Scanner scanner = new Scanner(System.in);
System.out.println("Username:");
user.setUsername(scanner.nextLine());
System.out.println("Password:");
user.setPassword(scanner.nextLine());
scanner.close();