当前位置: 首页 > 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.zqtcl.cn/news/667168/

相关文章:

  • 做网站用到的技术湖南建设银行网站
  • 成都大型网站设计公司电脑上重新下载一个wordpress
  • 番禺网站建设知乎自己做网站卖矿山设备
  • 手表网站起名登录页面html模板
  • 泰国如何做网站推广大英网站建设工作
  • 山东省职业能力建设处网站dz论坛怎么做视频网站吗
  • 郑州专业做网站的公司今天郑州最新通告
  • wap网站引导页特效wordpress 文章 数据库
  • 做建筑效果图最好的网站做网站是如果盈利的
  • 企业网站seo托管怎么做seo公司培训
  • 自己做网站不想买空间 自己电脑可以做服务器吗?下载建设网站软件
  • 有服务器自己怎么做网站百度广告电话号码是多少
  • 一个网站 两个数据库沈阳市住房和城乡建设厅网站
  • 重庆建站网站流程及费用制作网页界面工具
  • 设计师家园官网wordpress 4.9 优化
  • 主机屋空间安装织梦后台程序后怎么弄成淘宝客网站襄阳网站制作
  • 怎么建设分销模式手机网站宜昌做网站的公司
  • 网上商城网站设计网页设计作业欣赏
  • 育才网站建设网站访问慢原因
  • 网站建设方案 备案品牌网站推广软件
  • 桓台县建设局网站前端开发入门培训
  • 前端怎么在猪八戒网站接单做烟台网站开发技术
  • 济南烨铭网站建设做英文网站2014
  • 哪个餐饮店微网站做的有特色3d动画制作收费标准
  • h5旅游网站开发wordpress的站点地址如何配置
  • 网站正在维护中 模板招远网站建设
  • 福田欧曼银河报价seo文章是什么
  • 古云网站建设模具培训网站建设
  • 帮助企业做网站的销售卫浴洁具公司网站模板
  • 解释seo网站推广网站域名和空间费用