一、Tomcat
二、Maven项目
1.pom.xml导入依赖
2.主类extends HttpServlet
3.生成doGet、doPost方法
4.配置web.xml
<servlet>
<servlet-name>formServlet</servlet-name>
<servlet-class>net.csdn.form.servlet.FormServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>formServlet</servlet-name>
<url-pattern>/form</url-pattern>
</servlet-mapping>
Tips:shift+F6=快速命名、CTRL+shift+u转换单词大侠写
5.实现业务功能:servlet、service、dao
(1)servlet:主要业务代码。
(2)service(内含serviceimpl)
service:业务层方法
serviceimpl:业务层方法处理
(3)dao(内含daoimpl)
dao:数据层方法
daoimpl:数据层方法处理(连接数据库、Sql语句)
6.编码过滤器配置
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<!--过滤器配置-->
<!-- 编码过滤器-->
<filter>
<filter-name>charsetFilter</filter-name>
<filter-class>net.csdn.form.filter.CharsetFilter</filter-class>
</filter>
<!-- 过滤器映射-->
<filter-mapping>
<filter-name>charsetFilter</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
<!--servlet配置-->
<servlet>
<servlet-name>formServlet</servlet-name>
<servlet-class>net.csdn.form.servlet.FormServlet</servlet-class>
</servlet>
<!-- servlet映射-->
<servlet-mapping>
<servlet-name>formServlet</servlet-name>
<url-pattern>/form</url-pattern>
</servlet-mapping>
</web-app>
package net.csdn.form.filter;
import javax.servlet.*;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
/**
* @Author:张金贺
* @Date:2022/7/30 18:20
* @Version 1.0
* 编码
*/
public class CharseFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding(StandardCharsets.UTF_8.name());
servletResponse.setCharacterEncoding(StandardCharsets.UTF_8.name());
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
}
}
7.hibernate-validator校验参数
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.2.0.Final</version>
</dependency>
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>javax.el</artifactId>
<version>2.2.4</version>
</dependency>
@Null 被注释的元素必须为 null
@NotNull 被注释的元素必须不为 null
@AssertTrue 被注释的元素必须为 true
@AssertFalse 被注释的元素必须为 false
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max, min) 被注释的元素的大小必须在指定的范围内,元素必须为集合,代表集合个数
@Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Email 被注释的元素必须是电子邮箱地址
@Length(min=, max=) 被注释的字符串的大小必须在指定的范围内,必须为数组或者字符串,若微数组则表示为数组长度,字符串则表示为字符串长度
@NotEmpty 被注释的字符串的必须非空
@Range(min=, max=) 被注释的元素必须在合适的范围内
@NotBlank 被注释的字符串的必须非空
@Pattern(regexp = ) 正则表达式校验
@Valid 对象级联校验,即校验对象中对象的属性