⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 registercontroller.java

📁 网站购物车经典是例子
💻 JAVA
字号:
package onlyfun.caterpillar.web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import onlyfun.caterpillar.model.IUserDAO;
import onlyfun.caterpillar.model.User;

import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;


//SimpleFormController是AbstractForm-Controller的子类,简单的表单可以
//直接继承这个类,并重新定义onSubmit()方法以处理用户的请求...
public class RegisterController extends SimpleFormController {
	
	//IUserDAO的实例将使用Spring的依赖注入设置(这在web-config.xml中会有相关的设置)...
	private IUserDAO UserDAO;
	
	
	//直接取得了Command的实例,并在转换操作接口为RegisterForm之后,直接操作getXXX()方法来取得提交的参数...
	//onSubmit()方法接收command对象,这个对象代表了表单对象...
	public RegisterController(){
		setCommandClass(RegisterForm.class);
	}
	
	
	//一旦用户提交了登录页面,应用程序可以从RegisterController的onSubmit()方法中的命名对象检索出表单数据...
	protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response,
			Object command, BindException exception)throws Exception{
		
		//在RegisterController中,将从RegisterForm中撷取相关信息,并设置至一个User实例中,
		//接下来取得IUserDAO对象,以将User对象中的消息储存至数据库的user表格...
		RegisterForm form=(RegisterForm)command;
		
		//这里注意到RegisterForm是属性Web层所设计的API,虽然它当中就带有用户的注册消息,但不建议直接将Web层所设计的API
		//侵入至业务层之中,而改用一个与Web层无关的User对象来封装用户注册消息...
		User user=new User();
		user.setEmail(form.getEmail());
		user.setUsername(form.getUsername());
		user.setPasswd(form.getPasswd());
		
		
		//取得IUserDAO对象,将User对象中的消息储存至数据库的user表格/insert()方法就是IUserDAO接口中的自定义方法...
		this.getUserDAO().insert(user);
		
		//注册完成之后,在Session对象的属性中设置"valid_user",用户是否登录即是根据这个属性来进行判断的...
		request.getSession().setAttribute("valid_user", user.getUsername());
		
		
		//构造ModelAndView的第一个参数为要呈现的目标网页(或资源)路径,第二个参数是设置用来取得Model对象的键(key),第三个参数是给View层呈现数据的Model对象
		//参数getSuccessView()与定义文件web-config.xml中的registerController实例中的"successView"属性相对应...
		return new ModelAndView(this.getSuccessView());
	}

	
	public IUserDAO getUserDAO() {
		return UserDAO;
	}

	public void setUserDAO(IUserDAO userDAO) {
		UserDAO = userDAO;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -