SpringMVC 表单注册页

Spring Boot校园闲置交易平台实战:从表设计到订单闭环 在Java Web开发领域,Spring Boot凭借“约定优于配置”的设计理念,让开发者无需复杂XML配置即可快速构建可运行的服务端应用,已成为企业级项目与毕业设计的主流选择。其底层自动装配机制结合MyBatis-Plus这类增强型ORM框架,可显著提升单表CRUD效率,而多表查询则保留手写SQL的灵活性,恰好覆盖了从基础到进阶的数据库操作需求。合理设计数据表结构、明确实体关系与状态流转,是保证业务闭环稳定性的基石。此类技术组合广泛应用于电商、二手交易、信息管理等多种业务场景。本文以校园闲置物品交易平台为 阅读详情

学习参考自易百教程

1、程序目录如下

2、controller:

package com.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.model.User;

@Controller
public class RegisterController {

	@RequestMapping(value="/register",method=RequestMethod.GET)
	public ModelAndView register(){
		User user=new User();
		//user.setHoppies(new String[]{"看书","看电影","玩游戏","垃板胡","画画"});
		user.setGender(0);	//设定默认值
		ModelAndView modelAndView=new ModelAndView("register","command",user);//带参重定向
		return modelAndView;
	}
	
	@RequestMapping(value="getUserInfo",method=RequestMethod.POST)
	public String getInfo(@ModelAttribute("SpringWeb")User user,Model model){
		model.addAttribute("id",user.getId());
		model.addAttribute("userName",user.getUserName());
		model.addAttribute("password",user.getPassword());
		model.addAttribute("gender",user.getGender());
		model.addAttribute("hoppies",user.getHoppies());
		model.addAttribute("country",user.getCountry());
		model.addAttribute("remark",user.getRemark());
		return "show";
	}
	
	@ModelAttribute("countriesList")    //映射列表属性名,给视图中的列表赋值
	public Map<String,String> getCountryList(){
		Map<String,String> countriesList=new HashMap<String,String>();
		countriesList.put("US","America");
		countriesList.put("CN","China");
		countriesList.put("JP","Japan");
		countriesList.put("HK","HongKong");
		return countriesList;	
	}
	
	@ModelAttribute("hoppiesList")
	public List<String> getHoppyList(){
		List<String> hoppies=new ArrayList<String>();
		hoppies.add("看书");
		hoppies.add("电影");
		hoppies.add("玩游戏");
		hoppies.add("垃板胡");
		hoppies.add("画画");
		return hoppies;
	}
}

3、User

package com.model;

public class User {
	private String id;
	private String userName;
	private String password;
	private int gender;
	private String[] hoppies;
	private String country;
	private String remark;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public int getGender() {
		return gender;
	}
	public void setGender(int gender) {
		this.gender = gender;
	}
	public String[] getHoppies() {
		return hoppies;
	}
	public void setHoppies(String[] hoppies) {
		this.hoppies = hoppies;
	}
	public String getCountry() {
		return country;
	}
	public void setCountry(String country) {
		this.country = country;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
}

4、web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
  http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
  id="WebApp_ID" version="3.1">
  <display-name>springMVC_register</display-name>
  
  	<!-- 配置编码过滤器,解决post请求中文乱码 -->
  	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>	
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>	
		<init-param>	
			<param-name>encoding</param-name>	
			<param-value>utf-8</param-value>	
		</init-param>	
	</filter>	
	<filter-mapping>	
		<filter-name>CharacterEncodingFilter</filter-name>	
		<url-pattern>/*</url-pattern>	
	</filter-mapping>
  
	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
	
</web-app>

5、spring-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
        
        <context:component-scan base-package="com.controller"/>
        
        <mvc:annotation-driven/>
        
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        	<property name="prefix" value="/jsp/"/>
        	<property name="suffix" value=".jsp"/>
        </bean>
        
 </beans>

6、register.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>   
    <title>My JSP 'register.jsp' starting page</title>
  </head>
  
  <body>
    <form:form action="/springMVC_register/getUserInfo" method="post">
    	<table>
    		<caption>User Register</caption>
    		<tr>
    			<td><form:hidden path="id" value="1001"/></td>
    		</tr>
    		<tr>
    			<td><form:label path="userName">用户名</form:label></td>
    			<td><form:input path="userName"/></td>
    		</tr>
    		<tr>
    			<td><form:label path="password">密码</form:label></td>
    			<td><form:password path="password"/></td>
    		</tr>
    		<tr>
    			<td><form:label path="gender">性别</form:label></td>
    			<td>
    				<form:radiobutton path="gender" label="男" value="0"/>
    				<form:radiobutton path="gender" label="女" value="1"/>
    			</td>
    		</tr>
    		<tr>
    			<td><form:label path="hoppies">爱好</form:label></td>
    			<td><form:checkboxes path="hoppies" items="${hoppiesList}"/></td>
    		</tr>
    		<tr>
    			<td><form:label path="country">国籍</form:label></td>
    			<td>
    				<form:select path="country">
    					<form:option label="请选择——" value="none"/>
    					<form:options items="${countriesList}"/>
    				</form:select>
    			</td>
    		</tr>
    		<tr>
    			<td><form:label path="remark">备注</form:label></td>
    			<td><form:textarea path="remark" cols="30" rows="3"></form:textarea></td>
    		</tr>
    		<tr>
    			<td><input type="reset" value="reset"/></td>
    			<td><input type="submit" value="submit"/></td>
    		</tr>
    	</table>
    </form:form>
  </body>
</html>

7、show.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'show.jsp' starting page</title>

  </head>
  
  <body>
    <table>
    	<tr><td>id:</td><td>${id}</td></tr>
    	<tr><td>userName:</td><td>${userName}</td></tr>
    	<tr><td>password:</td><td>${password}</td></tr>
    	<tr><td>gender</td><td>${(gender==0?'男':'女')}</td></tr>
    	<tr><td>hoppies:</td><td>
			<%
				String[] hoppies=(String[])request.getAttribute("hoppies");
				for(String hoppy: hoppies){
					out.println(hoppy);
				}
			 %>
		</td></tr>
    	<tr><td>country:</td><td>${country}</td></tr>
    	<tr><td>remark:</td><td>${remark}</td></tr>
    </table>
  </body>
</html>

结果

基于SpringBoot的流浪动物救助站管理系统设计与实现 在Java Web开发领域,SpringBoot框架因其简化配置和快速开发能力,已成为构建企业级应用的主流选择。其核心原理是通过自动配置和起步依赖,将开发者从繁琐的XML配置中解放出来,专注于业务逻辑实现。这一技术价值在于大幅提升开发效率,降低项目维护成本,尤其适合需要快速迭代的管理系统开发。在应用场景上,SpringBoot广泛应用于电商平台、OA办公系统、CRM客户关系管理等各类信息管理系统。本文聚焦于一个具有社会公益价值的实战案例——流浪动物救助站管理系统,详细解析如何利用SpringBoot整合My 阅读详情

相关推荐

Qt 文件对话框(QFileDialog)实战指南 —— 从基础到高级应用

本文是Qt文件对话框(QFileDialog)的实战指南,从基础静态函数调用到高级对象模式应用,全面解析了文件选择、保存、目录选取及多选等核心功能。文章深入探讨了MIME类型过滤、自定义侧边栏、信号槽实时响应及状态持久化等高级技巧,并提供了跨平台开发中的避坑指南与最佳实践,帮助开发者高效、稳健地集成文件操作功能。

weixin_29306261的博客 376

SpringMvc初步认识——用户登录注册

SpringMvc初步认识——用户登录注册

qq_54000767的博客 1704

数字锁相环的原理与FPGA实现

数字锁相环是锁相环电路的全数字实现。锁相环电路能够实现对输入信号的相位进行跟踪,进而在噪声中提取纯净的有用信号。以上就是今天要讲的内容,本文简单地介绍了锁相环的原理,然后,在Vivado仿真平台上,通过verilog做仿真验证。最终仿真结果能够实现锁定,但锁定时间较长,表明参数仍可做调整。

weixin_45857378的博客 8508

SpringMvc简单使用——用户登录注册

SpringMvc简单使用——用户登录注册

qq_54000767的博客 5092

SAR成像系列:【3】合成孔径雷达(SAR)的二维回波信号与简单距离多普勒(RD)算法 (附matlab代码)

二维回波信号分析

zr2006_7的专栏 2万+

[SWPUCTF 2018]SimplePHP--一道简单的Phar反序列化题目

题目就不贴了,直接给出利用链①:echo会触发__toString魔术方法,所以这里的$this->test应该是Show类实例化的对象show②:这里应该使$this->str['str']为Test类实例化后的对象test,然后test->source会触发__get魔术方法(因为Test类没有名为source的成员变量,所以会触发get魔术方法,并且$key=source)③④:调用get方法,$...

Dream' 1258

mvcday01

Spirng Mvc 三层架构介绍 咱们开发服务器端程序,一般都基于两种形式,一种C/S架构程序,一种B/S架构程序 使用Java语言基本上都是开发B/S架构的程序,B/S架构又分成了三层架构 三层架构 表现层:WEB层,用来和客户端进行数据交互的。 业务层:处理公司具体的业务逻辑的。 持久层:用来操作数据库的。 MVC设计模式介绍 MVC全名是Model View Controller 模型视图控制器,每个部分各司其职。 Model:数据模型,JavaBean的类,用来进行数据封装。 View:指J

Lakn_an的博客 447

【虚拟化生态平台】虚拟化平台esxi挂载USB硬盘

虚拟化平台安装好之后,一般情况下,只有一个硬盘在工作,其他的外接硬盘(我的只有一个ssd硬盘,其他的均是usb外接,SATA接口的硬盘是否这样我暂时不清楚哈)没有在工作,但是一个硬盘明显不够我们使用的,所以我们需要去挂载外接的硬盘来扩容。...

Rubik Blog 4834

SpringMVC 的 form表单使用

1.SpringMVC 表单标签 <form> 概述 Spring也提供了一套表单标签库,通过Spring 的表单标签可以实现将模型数据中的属性和 HTML 表单元素相绑定,以实现表单数据更便捷编辑和表单值的回显 1.1 from表单有一个很重要的 共有属性: path : 表单标签的共有属性,相当于HTML的name属性,支持级联关系 1.2使用SpringM...

weixin_42325327的博客 2570

Mplus实战:如何用潜在类别分析(LCA)快速搞定心理学数据分类?

本文详细介绍了如何运用Mplus软件进行潜在类别分析(LCA),以快速处理心理学数据并识别内部异质性群体。文章从数据准备、Mplus语法编写、模型拟合与选择,到结果解读与高级应用(如纳入协变量),提供了完整的实战指南,帮助研究者从变量视角转向个体视角,有效挖掘数据中的潜在子类别。

weixin_28318011的博客 410

学Simulink——基于电能质量治理的场景实例:静止无功发生器(SVG)与并网逆变器的结合

本文详细介绍了基于Simulink的SVG与光伏并网逆变器联合仿真建模方法。系统包含光伏单元、SVG主电路、控制策略(无功检测+双闭环控制)等模块,通过ip-iq法实现动态无功补偿。仿真结果表明,SVG能快速响应负载变化,将功率因数提升至0.98以上,有效稳定母线电压。该方案为新能源并网系统提供了有功/无功协同控制解决方案,具有10ms级响应速度和±5kvar补偿能力。文章提供了完整的建模流程、控制算法实现和结果分析,可作为电力电子与电能质量治理领域的实践指导。

amy_mhd的博客 167

SpringMVC 实现注册登录

记录一下SpringMVC实现注册登录功能这个小程序。 一、新建动态Dynamic Web Project: 新建Dynamic Web Project,名称为 导入jar包

未完成的歌~的博客 8316

91、Windows网络配置:动态更新与名称解析全攻略

本文全面解析了Windows XP Professional系统中的网络配置方法,重点介绍了动态更新和名称解析两大核心功能。动态更新部分涵盖DHCP客户端、静态配置客户端、远程访问客户端和多宿主客户端的配置方法,并提供禁用动态更新和编辑Hosts文件的注意事项。名称解析部分详细讲解了NetBIOS名称解析的基础知识、WINS配置方法、B节点广播与Lmhosts文件的使用,以及WINS代理的作用和配置要点。通过操作建议流程图和关键操作步骤回顾,帮助用户快速掌握网络配置的核心技巧,适用于不同网络环境的实际需求。

blue42的博客 233

【Spring实战——构建Spring Web应用程序】1.10 处理表单

SpitterRepository通过用户名获取一个Spitter对象,showSpitterProfile()方法将获取到的对象添加到模型中,并返回基本信息页面的逻辑视图名"profile"。如果用户在提交表单时,username或password文本域为空,将导致新建的Spitter对象中的username或password属性为空字符串。但就我们来讲,将会关注于上表中的两个核心限制条件。需要注意的是,Errors参数紧跟在带有@Valid注解的参数后面,@Valid注解所标注的是要进行校验的参数。

weixin_44385781的博客 247

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SpringMVC:Controller接收请求参数的常见方式

一、通过实体bean接收请求参数 适用于get和post提交请求方式,需要注意的是,bean的属性名称必须与请求参数名称相同。 例:我们通过在register.jsp页面提交一个表单form,提交的有三项,分别是uname,upass,urepass,即用户姓名,用户密码,用户再次确认的密码。在form里面三个<input/>标签里的name属性里分别写上name="uname",...

LOG_IN_ME的博客 1824

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

快马AI一键生成:5分钟搭建SpringMVC用户管理系统

体验后发现用AI生成基础代码能节省至少70%的初始化时间,之后可以专注业务逻辑开发。平台内置的编辑器还能实时预览页面效果,边改边看特别高效。对于想快速验证SpringMVC功能的朋友,推荐试试这个方案。最近在学习SpringMVC框架,想动手实践一个简单的用户管理系统。传统方式从零开始搭建要配置各种依赖和文件,过程比较繁琐。的AI生成功能后,发现能快速产出可运行的项目骨架,这里分享具体实现思路和优化过程。不需要自己买服务器或配置Tomcat,特别适合教学演示和功能验证。

SunstoneLion34的博客 605

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Spring MVC+mybatis 项目入门:旅游网(三)用户注册——控制反转以及Hibernate Validator数据验证

注册原理 其实很简单,前端页面显示一个表单,然后由dispatcher传递到controller,controller调用数据库验证,如果ok,那就写入数据库,同时返回注册成功的视图,否则可以返回注册页,或者是到一个错误页。 依赖注入与控制反转 这里提一下,在最早接触servlet的时候,应该有老师会说,Java的POJO应该只有属性与构造方法,除此之外对于每...

iwts 1195

2018.5.22面试总结

只注重实操而忽略口头表达的我终于吃到了苦头,那些知识就在脑子里,却无法用准确语言表达出来,来做个总结,之后进行记忆加口语练习,为第二天面试做准备:1.是否知道double?属于基本类型之一,双精确浮点型,占8个字节(刚听到这一问时蒙了,还以为是什么设计模式,没想到会问这么简单问题,我竟然回答不知道

shierrenyou的博客 197

基于 SSM 的第三方物流信息管理系统设计与实现(Spring+SpringMVC+MyBatis+MySQL)

一家第三方物流公司每天要面对的事情,拆开看其实是一串相互咬合的流程:接到客户的货运订单,先询价报价,然后审核订单、安排车辆出车,运输途中跟踪轨迹,到货后登记回执签收;仓库里还有货物库存、采购计划要管;公司内部又有部门、职位、员工和层层权限。把这些装进一个系统,就是一个非常典型的「业务流程 + 组织权限」双主线的信息管理系统。本文拆解的这套第三方物流信息管理系统基于经典的。

大梦想家的博客 73

Spring框架学习第五天

文章目录Spring MVC登录功能Controller如何接收请求参数接收中文乱码的解决方案Controller向jsp传值转发条件传值(借助request域)重定向模式(借助session域) Spring MVC 登录功能 首页展示的流程如下 index.do -&amp;amp;gt; DispatcherServlet -&amp;amp;gt; HandlerMapping -&amp;amp;gt; IndexController...

gsdad_white的博客 332

日向blog开发记录

一点历史关于,Sonne Blog 2016.03.25springmvc + hibernate框架搭建。2016.04.21日向blog首页。2016.04.24分页实现。2016.04.30登录功能,实现jquery控制表单提交,并对返回结果做出响应。2016.05.01MySQL主键自增长设置。2016.05.07登录验证码实现。2016.05.15日向blog,添加了fckeditor...

weixin_30508309的博客 137

学习ssm-- 超级简单的注册登录判断

上一文章地址:https://blog.youkuaiyun.com/weixin_44369335/article/details/93618439 上一个文章的项目并没有实现注册登录 1. 注册验证是否存在相同用户名 2. 登录验证用户名密码是否存在,在这里完善一下 注册时验证是否存在此用户,存在返回注册页,不存在返回登录页 登录时验证是否存在此用户,存在返回登录成功,不存在返回登录页 项目目录 上一...

liv空间站 2955

【万字文档+源码】基于TCP协议在线聊天室项目-可用于毕设-课程设计-练手学习-学习资料分享

基于TCP和WebSocket的网页在线聊天室系统,采用SSM后端架构和MySQL数据库。系统支持多人实时聊天,可发送文字、图片和表情包,具备用户注册登录、在线人数统计、新用户通知、聊天记录存储等功能。通过TCP+WebSocket长连接保证消息低延迟传输,替代传统HTTP轮询模式。项目采用分层架构设计,包含前端页面、后端服务和数据库三部分,适用于校园、企业等场景的在线交流。系统实现了用户管理、实时通讯、数据存储等核心功能,满足性能、安全和兼容性需求。数据库设计包含用户表、登录记录表和聊天消息

专业的计算机毕业设计指南 203

MVC3学习:利用mvc3+ajax检测用户是否被注册

假设用户名是保存在表Users中。关系模式为Users(Uid,UserName,PassWord) 可先利用mvc自带的模板生成Create页面。 将填写用户名的地方,由原来的 <div class="editor-field"> @Html.EditorFor(model => model.UserName) @H...

weixin_30333885的博客 118

Chapter2——利用form表单实现注册页面

利用form表单实现注册页面

qq_34933348的博客 1439
上一篇: SpringMVC 页面重定向
下一篇: SpringMVC 控制器类名处理映射
zero_130
博客等级 码龄10年 21粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值