后台校验
<!--数据验证-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.0.1.GA</version>
</dependency>
<!--jboss logging-->
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.0.Final</version>
</dependency>
<!--validation api-->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<!--slf4j api-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency
2:然后创建个实体类UserInfo 在这里使用注解方法来校验属性
别忘了GET.SET
public class UserInfo {
/*必须是0到100之间*/
@Min(value = 0,message = "成绩最小为{value}")
@Max(value = 100,message = "最大值为{value}")
private Integer score;
/*手机号不能为空,必须是1开头 第二位是34567*/
@NotEmpty(message = "手机号不能我为空")
@Pattern(regexp = "^1[3,4,5,6,7,8,9]\\d{9}$",message = "手机号不正确")
private String phone;
//不能为空
//必须是6个字符以上
@NotEmpty(message = "用户不能为空")
@Size(min = 6,message = "名字至少6个字符")
private String name;
GET.SET 省略。。。。。。
3:然后controller里来使用和jsp.界面接应
@Controller
public class controller {
@RequestMapping("/first")
public ModelAndView doFist(@Valid UserInfo info, BindingResult br) {
ModelAndView mv = new ModelAndView();
/*成功后跳的界面*/
mv.setViewName("/index.jsp");
/*有一个可以侦测到验证错误总数的方法*/
int errorCount = br.getErrorCount();
if (errorCount > 0) {
//证明模型验证失败
FieldError score = br.getFieldError("score");//5
FieldError name = br.getFieldError("name");//5
FieldError phone = br.getFieldError("phone");//5
if (score != null) {
mv.addObject("scormsg", score.getDefaultMessage());
}
if (name != null) {
mv.addObject("namemsg", name.getDefaultMessage());
}
if (phone != null) {
mv.addObject("phonemsg", phone.getDefaultMessage());
}
/*失败后的界面*/
mv.setViewName("/log.jsp");
}
return mv;
}
}
4:大配置里的节点配置
<!--配置包扫描器-->
<context:component-scan base-package="cn.hayyp.jiaoyan"></context:component-scan>
<bean id="myValidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
</bean>
<!--mvc注解驱动-->
<mvc:annotation-driven validator="myValidator"/>
最后jsp.的界面
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>商品</title>
</head>
<body>
<h1>数据校验</h1>
<form action="/first" method="post">
成绩:<input name="score" /> <span>${scormsg }</span><br/><br/>
姓名:<input name="name"/><span>${namemsg }</span><br/><br/>
电话:<input name="phone"/><span>${phonemsg }</span><br/><br/>
<input type="submit" value="注册"/>
</form>
</body>
</html>
---------------------------------------------------------------------------------------------------------------------------------
文件上传
第1步
<!--文件上传的jar包-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
第2步
创建一个类 FirstController 使用SpringMVC框架创建注解方法写一个
文件上传的方法别忘了注解:如下
@Controller
public class FirstController {
@RequestMapping("/first")
public String doFirst(MultipartFile upload, HttpSession session){
//获取到用户上传的文件名字
String filename = upload.getOriginalFilename();//获取到文件的断名
//将相对路径转换成绝对路径 这个是创建在WEB-INF下面的文件名字
String realPath = session.getServletContext().getRealPath("/shangchuanwenjian");
//将file写入指定的路径
File file=new File(realPath,filename);
try {
upload.transferTo(file);
return "/index.jsp";
} catch (IOException e) {
e.printStackTrace();
return "/WJSC.jsp";
}
第3步: 大配置里的配置文件
<!--配置包扫描器-->
<context:component-scan base-package="cn.hayyp.shangchuan"></context:component-scan>
<!--配置文件上传的专用类-->
<!--必须要是ID 要不好使-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>
<mvc:annotation-driven/>
然后把web.xml指定的配置文件名字改一下
<!--初始化参数-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContextWJSC.xml</param-value>
</init-param>
这个是jsp,上传页面
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2017/8/30
Time: 15:17
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>文件上传</h1>
<%--文件上上传必须用post 和 enctype="multipart/form-data"--%>
<form action="/first" method="post" enctype="multipart/form-data">
文件 <input type="file" name="upload"/>
<input type="submit"/>
</form>
</body>
</html>
Springmvc后台校验加文件上传(完整版)
最新推荐文章于 2024-06-23 00:15:00 发布