通过实例跟我学Spring从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

更新时间:2023-08-24 17:46:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

1.1 应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

1、添加一个注册功能的表单页面

(1)

userRegister.jsp

(2)在该页面中添加一个注册表单,最后的页面代码为:

<%@ page contentType="text/html; charset=GBK" %>

<html><head><title>userRegister</title></head>

<body bgcolor="#ffffff">

<form action="/SpringMVCWeb/userRegister.do" method="post" name="UserManageLevel" >

<table class="wd_gray" border="1" align="center" cellspacing="0" width="502" bgcolor="#F0F8FF" >

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

<input name="menuID" type="hidden" value="2">

<tr>

<td width="254"> <div align="right">用户名</div></td>

<td width="238"><input type="text" name="userName"></td>

</tr>

<tr>

<td> <div align="right">用户密码 </div></td>

<td><input type="password" name="userPassword"></td>

</tr>

<tr>

<td> <div align="right">确认密码 </div></td>

<td><input type="password" name="confirmPassWord"></td>

</tr>

<tr>

<td> <div align="right">用户所属的部门 </div></td>

<td><select name="userDepartment">

<option value="信息中心" selected>信息中心</option>

<option value="开发部">开发部</option>

<option value="办公室">办公室</option>

<option value="宣传部">宣传部</option>

</select></td>

</tr>

<tr>

<td> <div align="right">用户的类型</div></td>

<td><select name="userAdminLevel">

<option value="1">管理员</option>

<option value="0" selected>普通用户</option>

<option value="2">超级版主</option>

<option value="3">版主</option>

<option value="4">论坛专家</option>

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

<option value="5">超级会员</option> <option value="6">会员</option>

</select>

</td>

</tr>

<tr>

<td> <div align="right">用户是否具有对部门管理的权限 </div></td>

<td>

<select name="departAdminLevel"> <option value="1">有</option>

<option value="0" selected>无</option>

</select>

</td>

</tr>

<tr>

<td> <div align="right">用户图像 </div></td>

<td>

<select name="userImage" onChange="document.images['headPortrait'].src=options[selectedIndex].value;"> <option value='..\Resource\PersonImage\Chang.gif' selected>Chang.gif</option>

<option

value='..\Resource\PersonImage\LiuMing.gif'>LiuMing.gif</option>

<option

value='..\Resource\PersonImage\Wang.GIF'>Wang.GIF</option>

<option

value='..\Resource\PersonImage\Yang.GIF'>Yang.GIF</option>

<option

value='..\Resource\PersonImage\zhang.GIF'>zhang.GIF</option>

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

</select>

<img src="../Resource/PersonImage/Chang.gif" width="28" height="54" name="headPortrait" alt="person image"></td>

</tr>

<tr>

<td><div align="right">

<input type="submit" name="Submit" value="注册完成">

</div></td>

<td><input type="reset" name="Submit2" value="重新注册"></td> </tr>

</table>

</form>

</body>

</html>

(3)注意其中的“<input type="hidden" name="menuID" value="2"/>”的含义

并且要求在每个表单中加一个下面的标签以区分不同的请求类型。

<input type="hidden" name="menuID" value="2"/>

同时,对用户登录表单也进行修改

<input name="menuID" type="hidden" value="1">

2、修改UserLoginForm类以增加新的属性(此时应该包含登录和注册两个表单的共同数据) String userName=null;

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

String userPassWord=null;

private String confirmPassWord;

private String userDepartment;

private String userAdminLevel;

private String departAdminLevel;

private String userImage;

private String menuID;

然后分别给它们提供 get和set方法。最后的完整的代码如下:

package springwebapp;

public class UserLoginForm {

String userName = null;

String userPassWord = null;

private String confirmPassWord;

private String userDepartment;

private String userAdminLevel;

private String departAdminLevel;

private String userImage;

private String menuID;

public UserLoginForm() {

}

public String getUserName() {

return userName;

}

public String getUserPassWord() {

return userPassWord;

}

public String getConfirmPassWord() {

return confirmPassWord;

}

public String getDepartAdminLevel() {

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

return departAdminLevel;

}

public String getMenuID() {

return menuID;

}

public String getUserAdminLevel() {

return userAdminLevel;

}

public String getUserDepartment() {

return userDepartment;

}

public String getUserImage() {

return userImage;

}

public void setUserPassWord(String userPassWord) {

http://www.77cn.com.cnerPassWord = userPassWord;

}

public void setUserName(String userName) {

http://www.77cn.com.cnerName = userName;

}

public void setUserImage(String userImage) {

http://www.77cn.com.cnerImage = userImage;

}

public void setUserDepartment(String userDepartment) {

http://www.77cn.com.cnerDepartment = userDepartment;

}

public void setUserAdminLevel(String userAdminLevel) {

http://www.77cn.com.cnerAdminLevel = userAdminLevel;

}

public void setMenuID(String menuID) {

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

this.menuID = menuID;

}

public void setDepartAdminLevel(String departAdminLevel) {

this.departAdminLevel = departAdminLevel;

}

public void setConfirmPassWord(String confirmPassWord) {

this.confirmPassWord = confirmPassWord;

}

}

3、对前面的UserInfoVO的VO对象进行修改以增加新的属性

package springwebapp;

public class UserInfoVO {

String userName=null;

String userPassWord=null;

private String userDepartment;

private int userAdminLevel;

private int departAdminLevel;

private String userImage;

private String registerTime;

public UserInfoVO(){

}

public String getUserName() {

return userName;

}

public String getUserPassWord() {

return userPassWord;

}

public int getDepartAdminLevel() {

return departAdminLevel;

}

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

public String getRegisterTime() {

return registerTime;

}

public int getUserAdminLevel() {

return userAdminLevel;

}

public String getUserDepartment() {

return userDepartment;

}

public String getUserImage() {

return userImage;

}

public void setUserName(String userName) {

http://www.77cn.com.cnerName = userName;

}

public void setUserPassWord(String userPassWord) {

http://www.77cn.com.cnerPassWord = userPassWord;

}

public void setUserImage(String userImage) {

http://www.77cn.com.cnerImage = userImage;

}

public void setUserDepartment(String userDepartment) {

http://www.77cn.com.cnerDepartment = userDepartment;

}

public void setUserAdminLevel(int userAdminLevel) {

http://www.77cn.com.cnerAdminLevel = userAdminLevel;

}

public void setRegisterTime(String registerTime) {

this.registerTime = registerTime;

}

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

public void setDepartAdminLevel(int departAdminLevel) {

this.departAdminLevel = departAdminLevel;

}

}

4、修改控制器程序

package springwebapp;

import org.springframework.web.servlet.mvc.Controller;

import org.springframework.web.servlet.ModelAndView;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import http://www.77cn.com.cnmons.logging.Log;

import http://www.77cn.com.cnmons.logging.LogFactory;

import org.springframework.web.servlet.mvc.SimpleFormController;

public class UserLoginController extends SimpleFormController{

protected ModelAndView onSubmit(Object formBean) throws Exception{

UserLoginForm userLoginForm = (UserLoginForm) formBean;

ModelAndView targetModelAndView=null;

switch(Integer.parseInt(userLoginForm.getMenuID())){

case 1: //用户登录

targetModelAndView=doUserLogin(userLoginForm);

break;

case 2: //用户注册

targetModelAndView=doUserRegister(userLoginForm);

break;

}

return targetModelAndView;

}

public ModelAndView doUserRegister(UserLoginForm userLoginForm ){

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

java.util.Date rightNow = new java.util.Date();

String registerTime = rightNow.toLocaleString();

UserInfoVO userInfo = new UserInfoVO();

userInfo.setUserName(userLoginForm.getUserName());

userInfo.setUserPassWord(userLoginForm.getUserPassWord());

userInfo.setUserDepartment( userLoginForm.getUserDepartment()); userInfo.setUserAdminLevel(Integer.parseInt(userLoginForm.getUserAdminLevel()

));

userInfo.setDepartAdminLevel(Integer.parseInt(userLoginForm.getUserAdminLevel

()));

userInfo.setUserImage(userLoginForm.getUserImage());

userInfo.setRegisterTime(registerTime);

boolean okOrNot= userLoginImpleBean.doUserRegister(userInfo);

if(okOrNot){

return new ModelAndView(registerSuccess);

}

else{

return new ModelAndView(registerFailure);

}

}

public ModelAndView doUserLogin(UserLoginForm userLoginForm ){

String userName = userLoginForm.getUserName();

String userPassword = userLoginForm.getUserPassword();

boolean okOrNot= userLoginImpleBean.doUserLogin(userName,userPassword);

if(okOrNot){

return new ModelAndView(loginSuccess);

}

else{

return new ModelAndView(loginFailure);

}

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

private String registerSuccess;

private String registerFailure;

public String getRegisterSuccess() {

return registerSuccess;

}

public void setRegisterSuccess(String registerSuccess) {

this.registerSuccess = registerSuccess;

}

public String getRegisterFailure() {

return registerFailure;

}

public void setRegisterFailure(String registerFailure) {

this.registerFailure = registerFailure;

}

private String loginSuccess;

public void setLoginSuccess(String newLoginSuccess){

this.loginSuccess = newLoginSuccess;

}

public String getLoginSuccess(){

return loginSuccess;

}

private String loginFailure;

public void setLoginFailure(String newLoginFailure){

this.loginFailure = newLoginFailure;

}

public String getLoginFailure(){

return loginFailure;

}

public UserLoginController(){

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

private UserLoginInterface userLoginImpleBean = null;

public void setUserLoginImpleBean(UserLoginInterface newUserLoginImpleBean) { userLoginImpleBean = newUserLoginImpleBean;

}

public UserLoginInterface getUserLoginImpleBean() {

return userLoginImpleBean;

}

}

5、在*.xml配置文件中增加对用户注册的映射

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

<property name="mappings"> <props> <prop key="/hello.do">springappController</prop> <prop key="/userlogin.do">userLoginController</prop> <prop key="/userRegister.do">userLoginController</prop> </props> </property> </bean>

6、修改业务处理的实现类以中间对注册的处理

(1)UserLoginInterface.java接口

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

package springwebapp;

public interface UserLoginInterface {

public abstract boolean doUserLogin(UserInfoVO oneUserInfo);

public abstract boolean doUserRegister(UserInfoVO oneUserInfo);

}

(2)UserLoginImple.java类

package springwebapp;

import org.springframework.beans.BeansException;

import org.springframework.jdbc.core.JdbcTemplate;

public class UserLoginImple implements UserLoginInterface{

public UserLoginImple(){

}

public boolean doUserRegister(UserInfoVOBean userInfo ){

return true;

}

public boolean doUserLogin(UserInfoVO oneUserInfo){

boolean okOrNot=false;

String userName=oneUserInfo.getUserName();

String userPassWord=oneUserInfo.getUserPassWord();

if(userName.equals("yang")&&userPassWord.equals("1234"))//实际一个改变为对数据库表的访问

{

okOrNot=true;

}

else{

okOrNot=false;

}

return okOrNot;

}

}

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

7、添加注册成功与失败的页面

(1)

registerSuccess.jsp

<%@ page contentType="text/html; charset=GBK" %>

<html>

<head>

<title>

registerSuccess

</title>

</head>

<body bgcolor="#ffffff">

<h1> 您成功注册为本系统的会员 </h1>

</body>

</html>

(2)

registerFailure.jsp

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

<%@ page contentType="text/html; charset=GBK" %>

<html>

<head>

<title>

registerFailure

</title>

</head>

<body bgcolor="#ffffff">

<h1> 您的注册没有成功 </h1>

</body>

</html>

并且将它们也放到userLogin目录下

8、再修改*.xml文件以增加目标页面的配置

<bean id="userLoginController" class="http://www.77cn.com.cnerLoginController"> <property name="commandClass">

<value>http://www.77cn.com.cnerLoginForm</value>

</property>

<property name="userLoginImpleBean">

<ref bean="userLoginImpleBean"/>

</property> <property name="loginSuccess">

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

<value>userLogin/loginSuccess</value> </property>

<property name="loginFailure">

<value>userLogin/loginFailure</value>

</property>

<property name="registerSuccess">

<value>userLogin/registerSuccess</value>

</property>

<property name="registerFailure">

<value>userLogin/registerFailure</value>

</property>

</bean>

9、测试该用户注册的功能

通过代码实例跟我学Spring框架从入门到精通——应用Spring框架实现MVC架构的Web应用实例(用户注册,JBuilder版本)

由于到目前为止,我们在doUserRegister方法中直接返回为true,因此最后应该出现下面的成功的提示内容

本文来源:https://www.bwwdw.com/article/xcli.html

Top