当前位置: 首页 > news >正文

国外游戏代码网站小程序开发定制外包

国外游戏代码网站,小程序开发定制外包,做网站实名认证总是失败怎么回事,建站服务是什么框架 controller 控制层 dao 持久层 interceptor 拦截器 model 实体层 uils 工具类 service 业务层 resources 资源文件层 mapper 放编写sql语句的文件#xff0c;与持久层的文件对应 具体代码 Controller //控制层 public class UserController { //用于调用Servic…框架 controller 控制层 dao 持久层 interceptor 拦截器 model 实体层 uils 工具类 service 业务层 resources 资源文件层 mapper 放编写sql语句的文件与持久层的文件对应 具体代码 Controller //控制层 public class UserController { //用于调用Service层方法Autowiredprivate IUserService userService; //注册RequestMapping(value /register,method RequestMethod.POST)ResponseBodypublic Result register(RequestBody User user){return userService.register(user);} //登录RequestMapping(value /login,method RequestMethod.POST)ResponseBodypublic Result login(RequestBody User user){return userService.login(user);} //注销RequestMapping(value /logout)ResponseBodypublic Result logout(RequestHeader(token) String token){return userService.logout(token);} //用于展示首页RequestMapping(value /show)ResponseBodypublic Result show(){return Result.ok(成功,首页);}}//持久层 //状态码方法 public interface TokenMapper { //保存到数据库int insert(Param(token) String token, Param(userid) int id); //查看Integer selectByToken(String token); //删除void deleteByToken(String token); } //用户数据库 public interface UserMapper { //插入数据也就是注册的int insert(User user); //通过username查询用于注册查重User findUserByUsername(String username); //登录方法User findUserByUsernameAndPassword(Param(username) String username, Param(password) String password); }//拦截器 Controller public class UserInterceptor implements HandlerInterceptor { //调用持久层的方法Autowiredprivate TokenMapper tokenMapper;Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//获取状态码String token request.getHeader(token);//如果状态码不为空或者空字符串if (token!nulltoken!){Integer id tokenMapper.selectByToken(token);//如果不为空且查到存在状态码返回trueif (id!nullid0){return true;}}//反之就是权限不够String string JSON.toJSONString(Result.error(500, 权限不够));response.getWriter().println(string);return false;} //后置Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);} //最终Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {HandlerInterceptor.super.afterCompletion(request, response, handler, ex);} }public class ResultT implements Serializable { //返回状态private static final long serialVersionUID 1L;/*** 成功标志*/private boolean success true;/*** 返回处理消息*/private String message 操作成功;/*** 状态码*/private Integer code 0;/*** 返回数据对象 data*/private T result;public static long getSerialVersionUID() {return serialVersionUID;}public boolean isSuccess() {return success;}public void setSuccess(boolean success) {this.success success;}public String getMessage() {return message;}public void setMessage(String message) {this.message message;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code code;}public T getResult() {return result;}public void setResult(T result) {this.result result;}public long getTimestamp() {return timestamp;}public void setTimestamp(long timestamp) {this.timestamp timestamp;}/*** 时间戳*/private long timestamp System.currentTimeMillis();public Result() {}public ResultT success(String message) {this.message message;this.code 200;this.success true;return this;}public static ResultObject ok() {ResultObject r new ResultObject();r.setSuccess(true);r.setCode(200);r.setMessage(成功);return r;}public static ResultObject ok(String msg) {ResultObject r new ResultObject();r.setSuccess(true);r.setCode(200);r.setMessage(msg);return r;}public static ResultObject ok(String msg,Object obj) {ResultObject r new ResultObject();r.setSuccess(true);r.setCode(200);r.setMessage(msg);r.setResult(obj);return r;}public static ResultObject ok(Object data) {ResultObject r new ResultObject();r.setSuccess(true);r.setCode(200);r.setMessage(成功);r.setResult(data);return r;}public static ResultObject error(String msg) {return error(500, msg);}public static ResultObject error(int code, String msg) {ResultObject r new ResultObject();r.setCode(code);r.setMessage(msg);r.setSuccess(false);return r;}public ResultT error500(String message) {this.message message;this.code 500;this.success false;return this;}/*** 无权限访问返回结果*/public static ResultObject noauth(String msg) {return error(555, msg);} }//user实体类 Data NoArgsConstructor AllArgsConstructor Builder public class User {/*** 这是id*/private int id;/*** 这是昵称*/private String nickname;/*** 这是用户名*/private String username;/*** 这是密码*/private String password;/*** 这是年龄*/private int age;/*** 这是手机号*/private String phone; }//service接口 public interface IUserService {Result register(User user);Result login(User user);Result logout(String token); }//实现service接口 Service Transactional public class UserService implements IUserService {Autowiredprivate UserMapper userMapper;Autowiredprivate TokenMapper tokenMapper;/*** 注册* */Overridepublic Result register(User user) {//用户名校验String username user.getUsername();if (username ! null username ! ) {boolean check RegUtils.check(username, ^(?[a-zA-Z])(?!.*[\\-_]{2})[a-zA-Z0-9\\-_]{8,12}$);if (!check){return Result.error(用户名格式不正确);}}else {return Result.error(用户名不能为空);} // 是否被注册过User user1 userMapper.findUserByUsername(username);if (user1!null){return Result.error(用户名已存在请重新输入);} // 密码校验String password user.getPassword();if (password ! null password ! ) {boolean check RegUtils.check(password, ^(?.*[A-Z])(?.*[a-z])(?.*[0-9])(?.*[!#$%^*()_\\-\\[\\]{};:\\\\\|,.\\/?]).{8,}$);if (!check){return Result.error(密码格式不正确);}}else {return Result.error(密码不能为空);} // 年龄校验int age user.getAge();if(age120||age18){return Result.error(年龄不符合要求);}//手机号的校验String phone user.getPhone();if (phone ! null phone ! ) {boolean check RegUtils.check(phone, ^(1[3-9]\\d{9}$));if (!check){return Result.error(手机号格式不正确);}}else {return Result.error(手机号不能为空);} // 写入数据库user.setPassword(MD5Utils.encrypt(password));int insert userMapper.insert(user);return insert 0 ? Result.ok(注册成功) : Result.error(注册失败);}/*** 登录*/Overridepublic Result login(User user) {String username user.getUsername();if (username ! null username ! ) {boolean check RegUtils.check(username, ^(?[a-zA-Z])(?!.*[\\-_]{2})[a-zA-Z0-9\\-_]{8,12}$);if (!check) {return Result.error(用户名格式不正确);}} else {return Result.error(用户名不能为空);}String password user.getPassword();if (password ! null password ! ) {boolean check RegUtils.check(password, ^(?.*[A-Z])(?.*[a-z])(?.*[0-9])(?.*[!#$%^*()_\\-\\[\\]{};:\\\\\|,.\\/?]).{8,16}$);if (!check) {return Result.error(密码格式不正确);}} else {return Result.error(密码不能为空);}password MD5Utils.encrypt(password);User user1 userMapper.findUserByUsernameAndPassword(username, password);if(user1!null){String uuid UUID.randomUUID().toString();String token uuid.replace(-, );tokenMapper.insert(token, user1.getId());return Result.ok(登录成功, token);}return Result.error(登录失败);} //注销Overridepublic Result logout(String token) {if(token!null token!){tokenMapper.deleteByToken(token);}return Result.ok(注销成功);} }//正则表达式 public class RegUtils {public static boolean check(String target,String regex) {// 正则表达式Pattern pattern Pattern.compile(regex);// 匹配器Matcher matcher pattern.matcher(target);// 匹配if (matcher.matches()) {return true;}return false;} }//MD5 public static String encrypt(String password){MessageDigest md null;String s null;try {md MessageDigest.getInstance(MD5);md.update(password.getBytes());s new BigInteger(1, md.digest()).toString(16);} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return s;}?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.xinzhi.dao.TokenMapperinsert idinsertinsert into token (token,userid) values (#{token},#{userid})/insertdelete iddeleteByTokendelete from token where token#{token}/deleteselect idselectByToken resultTypejava.lang.Integerselect id from token where token#{token}/select /mapper?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.LiMou.dao.UserMappersql iduserAllid,nickname,username,password,age,phone/sqlinsert idinsertinsert into user (nickname,username,password,age,phone) values (#{nickname},#{username},#{password},#{age},#{phone})/insertselect idfindUserByUsername resultTypecom.xinzhi.model.Userselect include refiduserAll/ from user where username#{username}/selectselect idfindUserByUsernameAndPassword resultTypecom.xinzhi.model.Userselect include refiduserAll/ from user where username#{username} and password#{password}/select /mapper?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:contexthttp://www.springframework.org/schema/contextxmlns:txhttp://www.springframework.org/schema/txxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd!--加载properties文件--context:property-placeholder locationclasspath:db.properties/!--数据源--bean iddataSource classcom.alibaba.druid.pool.DruidDataSourceproperty namedriverClassName value${driver}/property nameurl value${url}/property nameusername value${name}/property namepassword value${password}//bean!--开启bean注解扫描--context:component-scan base-packagecom.LiMoucontext:exclude-filter typeannotation expressionorg.springframework.stereotype.Controller//context:component-scan!--事务管理器--bean idtxManager classorg.springframework.jdbc.datasource.DataSourceTransactionManagerproperty namedataSource refdataSource//bean!--开启注解式事务--tx:annotation-driven transaction-managertxManager/!--整合mybatis到spring中--bean classorg.mybatis.spring.SqlSessionFactoryBeanproperty namedataSource refdataSource/property nametypeAliasesPackage valuecom.xinzhi.model/property namemapperLocations valueclasspath:mapper/*.xml/!--分页插件--property namepluginsarraybean classcom.github.pagehelper.PageInterceptorproperty namepropertiespropsprop keyhelperDialectmysql/propprop keyreasonabletrue/prop/props/property/bean/array/property/bean!--映射扫描--bean classorg.mybatis.spring.mapper.MapperScannerConfigurerproperty namebasePackage valuecom.LiMou.dao//bean/beansdb.properties//连接数据库的 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvcxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdcontext:component-scan base-packagecom.xinzhi.controller/mvc:annotation-driven !-- 消息转换器 --mvc:message-converters register-defaultstruebean classorg.springframework.http.converter.StringHttpMessageConverterproperty namesupportedMediaTypes valuetext/plain;charsetUTF-8//bean/mvc:message-converters/mvc:annotation-driven!-- 视图解析器--bean classorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/page//property namesuffix value.jsp//bean!-- 多媒体解析器--bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolverproperty namedefaultEncoding valueUTF-8/property namemaxUploadSize value500000//beanmvc:interceptorsmvc:interceptormvc:mapping path/**/mvc:exclude-mapping path/register/mvc:exclude-mapping path/login/bean classcom.xinzhi.interceptor.UserInterceptor//mvc:interceptor/mvc:interceptors/beans//依赖 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.xinzhi/groupIdartifactIdconformity1/artifactIdpackagingwar/packagingversion1.0-SNAPSHOT/versionnameconformity1 Maven Webapp/nameurlhttp://maven.apache.org/urldependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion3.8.1/versionscopetest/scope/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.3/version/dependency!--mysql环境--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.31/version/dependency!--spring整合jdbc--dependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.1.9.RELEASE/version/dependency!--spring整合mybatis--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.0.3/version/dependency!--druid连接池--dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.16/version/dependency!--分页插件坐标--dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper/artifactIdversion5.1.2/version/dependency!--springmvc环境--dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.1.9.RELEASE/version/dependency!--jackson相关坐标3个--dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.0/version/dependency!--servlet环境--dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependencydependencygroupIdcommons-fileupload/groupIdartifactIdcommons-fileupload/artifactIdversion1.4/version/dependency!--junit单元测试--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependency!--spring整合junit--dependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion5.1.9.RELEASE/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.24/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.4/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdversion3.3.2/version/plugin/pluginsfinalNameconformity1/finalName/build /project
http://www.pierceye.com/news/667168/

相关文章:

  • 如何建设网站导航内链接wordpress 特别慢
  • 蚌埠网站建设文章网站软件定制开发公司
  • 软件通网站建设百度收录网站电话
  • 取消网站备案制度正规的电商平台有哪些
  • 茶叶网站源码php6731官方网站下载
  • 网站建设mfdos 优帮云制作简历哪个网站好
  • 淮南市城乡建设局网站网站seo收费
  • 陕西手机网站制作描述网站开发的广告词
  • 一个网址建多个网站手机网站数据加载
  • 网站视觉分析上海做saas平台网站的公司
  • 沈阳网站设计网站一键制作
  • 建设工程中标查询网站北京建设质量协会网站
  • 做公司网站要素做关于灯饰的网站
  • 网站编辑工具软件单位发购物或电影卡有哪些app
  • dw网站导航怎么做3免费网站建站
  • 用jsp做网站的代码句容网站建设制作
  • 宁国新站seo网页版微信登录提示二维码已失效
  • 深圳英文网站建设去哪家公司电商网站开发
  • 黑色网站后台出库入库管理软件app
  • 网站建设公司团队简介国外有网站备案制度吗
  • 怎么让公司网站随便就搜的到wordpress后台卡顿
  • 网站怎么做图片动态图片不显示报价单模板怎么做
  • 怎么建一个公司运营网站江西网站建设哪家专业
  • 网站后期维护费用网站开发学徒工作如何
  • 网站建站程序一站式网站建设服务
  • 滨州内做网站系统的公司购物网站开发用什么软件
  • 网站建设静态部分报告总结在合肥哪里学网站建设
  • 建站行业现状网易与暴雪合作
  • 网站中添加百度地图购物网站产品做促销能赚钱吗
  • 金融公司 网站开发怎么样建网站卖东西