文档库 最新最全的文档下载
当前位置:文档库 › JAVAEE开发基于MVC模式的登陆应用

JAVAEE开发基于MVC模式的登陆应用

JAVAEE开发基于MVC模式的登陆应用
JAVAEE开发基于MVC模式的登陆应用

JAVAEE开发基于MVC模式的登陆应用

姓名:刘义峰学号:071300316 2009-11-21

实验要求:

使用完整的MVC模式实现用户注册和登录应用。

1.Model使用 JavaBean访问数据库;

2.View使用JSP做登录页面和反馈页面;

3.Controller使用Servlet做控制器,进行页面转换。

实验内容:

开发一个完整的MVC模式的Java web应用------类似login的应用。

功能一: 一个有输入信息的登陆页面,提交给一个Servlet,Servlet调用javabean,javabean 访问数据库并验证用户是否合法,如果合法,

Servlet转发给另一个web 欢迎页面,如果非法,提示用户登

陆出错。

功能二: 一个有输入信息的注册页面,提交给一个Servlet,Servlet调用javabean,javabean访问数据库并完成新用户的注册,并提示用

户注册是否成功,然后在3秒钟后转向登陆界面。

实验步骤:

(1).创建一个java web 工程 logon

(2).改写index.jsp, 具体内容见源码。

(3).创建一个Servlet userLogon,改写userLogon中的doGet()方法如下:response.setContentType("text/html");

PrintWriter out = response.getWriter();

String username = request.getParameter("username");

String passwd = request.getParameter("password");

UserChecker checker = new UserChecker(username, passwd);

if(checker.check()){

out.println("

welcome," + username + "

");

}

else{

out.println("

username not exist or password is

wrong

");

}

out.flush();

out.close();

(4).创建一个javabean UserChecker,用于验证用户是否合法. 代码如下:package user;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import mysql.DBConn;

public class UserChecker {

private String userName;

private String password;

private DBConn conn;

private String sql;

public UserChecker(){

;

}

public UserChecker(String name, String passwd){

userName = name;

password = passwd;

conn = new DBConn();

sql = "select * from usertable where username = '" + userName + "'and password = '" + password + "'";

}

public boolean check(){

Connection connection = conn.getConn();

Statement st;

ResultSet rs = null;

try {

st = connection.createStatement();

rs = st.executeQuery(sql);

if(rs.next()){

return true;

}

} catch (SQLException e) {

e.printStackTrace();

}

return false;

}

}

(5).创建一个javabean DBConn, 用于连接数据库. 代码如下,具体的数据库连接信息按需修改.为了简便,这里采用MySql数据库:

package mysql;

import java.sql.Connection;

import java.sql.DriverManager;

public class DBConn {

/**

*Fields

*/

private Connection dbConn;

Private String dbUrl = "jdbc:mysql:

//localhost:3306/test";

private String dbUser = "root";

private String dbPwd = "lyfdj";

private String err;

/**

*Constructor

*/

public DBConn() {

err = "";

dbConn = null;

}

/**

*get connectio method

*@return a connection to mysql

*/

public Connection getConn() {

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

dbConn = DriverManager.getConnection(dbUrl,

dbUser, dbPwd);

}

catch (Exception ex) {

dbConn = null;

err = ex.toString();

System.out.println(err);

}

return dbConn;

}

/**

*get error message

*@return error message

*/

public String getErr() {

return err;

}

}

(6).创建一个jsp页面 register.jsp,用于用户注册,具体内容见源代码。(7).创建一个Servlet UserRegister,用于添加一个新用户,改写UserRegister 中的doGet()方法. 代码如下:

response.setContentType("text/html");

PrintWriter out = response.getWriter();

String username = request.getParameter("nick");

String passwd = request.getParameter("password");

NewUser register = new NewUser(username, passwd);

if(register.AddNewUser() >= 0){

out.println("

register succeed

");

}

else{

out.println("

register failed

");

}

out.println("

You will go back to index page after 3 seconds...

");

response.setHeader("Refresh", "3; URL = ../index.jsp");

out.flush();

out.close();

(8).创建一个javabean, 用于向数据库中加入一条用户记录. 代码如下:

package user;

import java.sql.Connection;

import java.sql.SQLException;

import java.sql.Statement;

import mysql.DBConn;

public class NewUser {

private String username;

private String password;

private DBConn conn;

private String sql;

public NewUser(){

}

public NewUser(String name, String password){

https://www.wendangku.net/doc/f63223981.html,ername = name;

this.password = password;

System.out.println("username:"+ username + " password:" + password);

conn = new DBConn();

sql = "insert into usertable values('" + username + "','" + password + "')";

}

public int AddNewUser(){

Connection connection = conn.getConn();

Statement st;

try {

st = connection.createStatement();

return st.executeUpdate(sql);

} catch (SQLException e) {

e.printStackTrace();

}

return -1;

}

}

(9)发布应用

(10)应用测试

在浏览器中输入http://localhost:8080/logon/, 出现登陆界面

点击下角的register链接,注册新用户:

注册成功后出现如下界面:

用刚注册的用户登陆,成功后显示欢迎信息:

应用里还用到了一些javascript,用来检查提交时信息是否合法。

比如注册时密码和验证密码不相符:

实验总结:

在本次实验中,独立完成了包含登陆和注册两个功能的web应用。对MVC模式的各层都有了更深入的了解。不过, 也存在一些疑惑:同样是java文件,为什么有的叫javabean,有些又叫servlet。可能是用法不同,从而叫法不同吧。但还是不明白为何要区分的这么细,而不统称为javabeans. 相信随着应用JAVAEE的时间增长,这些疑问会解决的。

相关文档