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

附近的网站设计开发凡科做网站好吗

附近的网站设计开发,凡科做网站好吗,wordpress如何添加搜索到主菜单,毕业设计做购物网站目录 项目简介思考 改进1.Jsp都是同步请求----改成异步Ajax【完成】2.前端用Jsp技术落后-----用Vue框架【完成】3.架构问题#xff1a;配置数据和Java代码耦合【完成】3.SQL语句和Java代码耦合【完成】4.架构问题#xff1a;servlet只能处理一个请求5.响应方式… 目录 项目简介思考 改进1.Jsp都是同步请求----改成异步Ajax【完成】2.前端用Jsp技术落后-----用Vue框架【完成】3.架构问题配置数据和Java代码耦合【完成】3.SQL语句和Java代码耦合【完成】4.架构问题servlet只能处理一个请求5.响应方式为响应一个Json但是servlet写法很繁琐6.在servlet中接收前端传的参数都是String用的时候还需要类型转换7.全局配置文件繁琐xml和java必须一一对应 springBoot相关技术Spring核心容器——从配置文件到注解开发 创建对象成员变量赋值 增强方法SpringMvc学习——在idea中新建springWeb项目 浏览器请求 和 服务器响应 SpringMvc文件相关springBoot学习——springspringMVC 集成mybatis 拦截器SpringBoot学习——追根溯源servlet是啥tomcat是啥maven是啥 springBoot项目初步maven构建打包 测试 上述问题SpringBoot的解决方案4.架构问题servlet只能处理一个请求5.响应方式为响应一个Json但是servlet写法很繁琐6.在servlet中接收前端传的参数都是String用的时候还需要类型转换7.全局配置文件繁琐xml和java必须一一对应 SpringBoot项目搭建1.项目总体结构pom.xml文件 2.主配置application.yml文件3.springMvc配置类拦截器静态资源映射拦截器实体类 4.主启动类SpringBootApplication 项目简介 本项目是一个简单的图书管理系统本博客在tomcat中采用servlet 和vue和mybatis技术实现如下功能 用户登陆输入用户名密码登陆成功后保存到session中跳转到首页用户注册输入相关信息以及验证码注册成功到登陆页面用户信息修改昵称修改密码修改图书信息页面展示所有信息到数据分页显示到分页展示模糊查询只看自己的书新增图书信息新增一条图书信息类型下拉框选择书名简介输入session中获取用户名和id数据插入数据库中再回到图书信息页面删除图书信息只能删除自己的书删除成功再回到图书信息页面修改图书信息原有的信息进行回显修改成功后再回到图书信息页面图书类型分类统计按照图书类型进行统计数量为0显示0 思考 改进 1.Jsp都是同步请求----改成异步Ajax【完成】 JavaWeb项目【源码】——图书项目1.0Tomcat版本 Servlet Filter Jsp bootstrap JavaScript初步 Ajax初步 2.前端用Jsp技术落后-----用Vue框架【完成】 JavaWeb项目【源码】——图书项目2.0Tomcat版本 Vue axios Servlet Lombok JDBC MySQL技术栈实现 3.架构问题配置数据和Java代码耦合【完成】 3.SQL语句和Java代码耦合【完成】 JavaWeb项目【源码】——图书项目3.0Tomcat版本 Mybatis vue axios js mysql log4j 技术栈实现 4.架构问题servlet只能处理一个请求 5.响应方式为响应一个Json但是servlet写法很繁琐 resp.getWriter().write(JSON.toJSONString(new ResData( // 4.new PageInfo对象共享页数等以及查询到的数据ListCompany list companyService.queryByLikeNameLimit(pageNum, pageSize,name);PageInfoCompany pageInfo new PageInfo(pageNum, pageSize, total, pages, list);resp.getWriter().write(JSON.toJSONString(new ResData(200, ok, pageInfo))); 6.在servlet中接收前端传的参数都是String用的时候还需要类型转换 String name req.getParameter(name);String typeId req.getParameter(typeId);String birthday req.getParameter(birthday);当用的时候如果想要的类型其实不是String还需要自己转换格式 // 日期类型转换private SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);try {comUser.setBirthday(sdf.parse(birthday));} catch (ParseException e) {throw new RuntimeException(e);}// int类型转换opus.setTypeId(Integer.parseInt(typeId));7.全局配置文件繁琐xml和java必须一一对应 springBoot相关技术 Spring核心容器——从配置文件到注解开发 创建对象成员变量赋值 增强方法 Spring核心容器——从配置文件到注解开发 创建对象成员变量赋值 增强方法 SpringMvc学习——在idea中新建springWeb项目 浏览器请求 和 服务器响应 SpringMvc文件相关 SpringMvc学习——在idea中新建springWeb项目 浏览器请求 和 服务器响应 SpringMvc文件相关 之前的模式下 在spring中集成mybatis 配置文件application.xml文件加入mybatis相关 server:port: 80# 1.连接数据库——对应之前 xml文件的数据库 spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/javaweb?useSSLfalseserverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrueusername: rootpassword: 123# mybatis其他配置 mybatis:# 2.给实体类起别名首字母小写type-aliases-package: com.tianju.entityconfiguration:# 3.开启驼峰命名map-underscore-to-camel-case: true# 4.让日志生效log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 5.扫描sql的位置mapper-locations: classpath:/mapper/*Mapper.xmlspringBoot学习——springspringMVC 集成mybatis 拦截器 springBoot学习——springspringMVC 集成mybatis 拦截器 SpringBoot学习——追根溯源servlet是啥tomcat是啥maven是啥 springBoot项目初步maven构建打包 测试 SpringBoot学习——追根溯源servlet是啥tomcat是啥maven是啥 springBoot项目初步maven构建打包 测试 上述问题SpringBoot的解决方案 4.架构问题servlet只能处理一个请求 5.响应方式为响应一个Json但是servlet写法很繁琐 resp.getWriter().write(JSON.toJSONString(new ResData( // 4.new PageInfo对象共享页数等以及查询到的数据ListCompany list companyService.queryByLikeNameLimit(pageNum, pageSize,name);PageInfoCompany pageInfo new PageInfo(pageNum, pageSize, total, pages, list);resp.getWriter().write(JSON.toJSONString(new ResData(200, ok, pageInfo))); 在springMvc下响应一个json ResponseBody 要点 响应是json要加ResponseBody 时间显示的问题要GMT8 JsonFormat(pattern “yyyy-MM-DD hh:mm:ss”, timezone “GMT8”) 如果一个controller响应都是json则可以用RestController代替 Controller 和 ResponseBody package com.tianju.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;/*** 响应的json*/ Data NoArgsConstructor AllArgsConstructorpublic class ResData {private Integer code;private String msg;private Object data; }注意这里日期转换格式写错了DD要改成小写dd 6.在servlet中接收前端传的参数都是String用的时候还需要类型转换 String name req.getParameter(name);String typeId req.getParameter(typeId);String birthday req.getParameter(birthday);当用的时候如果想要的类型其实不是String还需要自己转换格式 // 日期类型转换private SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);try {comUser.setBirthday(sdf.parse(birthday));} catch (ParseException e) {throw new RuntimeException(e);}// int类型转换opus.setTypeId(Integer.parseInt(typeId));在springMvc下参数自动进行了类型的匹配通常前端传的是一个JSON队形后端接收要加上RequestBody注解 要点 前端传参用Json对象传后端接收需要加上RequestBody注解实体类中规定日期的格式 JsonFormat(pattern “yyyy-MM-dd”) 前端发送对象的方式 (1) user对象逐个赋值发送post请求 let user {} user.username this.username; user.password this.password; user.sex this.sex; user.birthday this.birthday; axios.post(/user/register,user)(2) 直接创建好user对象发送post请求 let user {username:this.username,password:this.password,sex:this.sex,birthday:this.birthday, } axios.post(/user/register,user)后端接收要加上RequestBody在类上加 JsonFormat(pattern “yyyy-MM-dd”) // 在登陆页面用户点击登陆按钮处理请求RequestMapping(register)ResponseBody// 如果前端用json对象发后端需要加上RequestBodypublic ResData register(RequestBody User user){System.out.println(user);return new ResData(200, ok, null);}7.全局配置文件繁琐xml和java必须一一对应 在spring中集成mybatis 配置文件application.xml文件加入mybatis相关 server:port: 80# 1.连接数据库——对应之前 xml文件的数据库 spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/javaweb?useSSLfalseserverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrueusername: rootpassword: 123# mybatis其他配置 mybatis:# 2.给实体类起别名首字母小写type-aliases-package: com.tianju.entityconfiguration:# 3.开启驼峰命名map-underscore-to-camel-case: true# 4.让日志生效log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 5.扫描sql的位置mapper-locations: classpath:/mapper/*Mapper.xmlSpringBoot项目搭建 1.项目总体结构 pom.xml文件 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdorg.example/groupIdartifactIdSpringBootOpus/artifactIdversion1.0-SNAPSHOT/version!-- 继承一个父--parentgroupIdorg.springframework.boot/groupIdversion2.3.0.RELEASE/versionartifactIdspring-boot-starter-parent/artifactId/parentpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!-- 做web项目的包--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency!-- 前端模板引擎功能类似于jsp--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactId/dependency!-- 其他需要的包fastjson commons-io --dependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.2/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion2.0.22/version/dependency!-- mybatis的包--dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.1.1/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.2.16/version/dependencydependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.2.12/version/dependency!-- mysql --!-- springboot内置了mysql的jar不用写版本号至于为什么不用spring-boot-strater-mysql--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency!-- 工具包--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.11/version/dependency/dependencies!-- 构建--buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project2.主配置application.yml文件 # 注释 server:port: 80## spring相关的配置 spring:# 连接数据库datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/javaweb?useSSLfalseserverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrueusername: rootpassword: 123## 设置上传文件大小servlet:multipart:max-file-size: 10MB # 设置单个文件最大大小为10MB # # 另一种解决方案 # thymeleaf: # cache: false # prefix: classpath:/templates # suffix: .html## mybatis相关配置 mybatis:# 起别名的包在哪里type-aliases-package: com.tianju.entity# 写sql的xml文件放在这个文件夹下mapper-locations: classpath:/mapper/*Mapper.xml# 驼峰命名 日志configuration:map-underscore-to-camel-case: truelog-impl: org.apache.ibatis.logging.stdout.StdOutImplimgLocation: D:/620/3.springMvc配置类拦截器静态资源映射 package com.tianju.config;import com.tianju.interceptor.LoginAuthorInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;/*** springMvc的配置类* 1.是配置类Configuration* 2.是springMvc的配置类implements WebMvcConfigurer*/ Configuration public class SpringMvcConfig implements WebMvcConfigurer {AutowiredLoginAuthorInterceptor loginAuthorInterceptor;Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(loginAuthorInterceptor).addPathPatterns(/**) // 拦截谁表示都拦截.excludePathPatterns(/user/loginPage,/user/login,/user/registerPage,/user/register,/image/get,/js/**,/css/**,/bootstrap/**,/img/**);}// 静态资源映射Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {// 1.浏览器访问哪个链接2.映射到哪里registry.addResourceHandler(/bookImg/**) // 访问的连接.addResourceLocations(file:D:/620/bookImg/); // 映射的位置} }拦截器实体类 package com.tianju.interceptor;import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;/*** spring的拦截器* 1.在容器中Component* 2.是拦截器实现接口 implements HandlerInterceptor*/ Component public class LoginAuthorInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 如果没有登陆就去登陆页面; 如果登陆了就放行HttpSession session request.getSession();Object user session.getAttribute(user);if (usernull){// 没有登陆重定向到登陆页面response.sendRedirect(/user/loginPage);return false;}// 登陆了放行return true;} }4.主启动类SpringBootApplication package com.tianju;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class Main {public static void main(String[] args) {SpringApplication.run(Main.class);} }
http://www.yutouwan.com/news/472682/

相关文章:

  • 河南中原建设公司网站网站死链排查
  • 网站建设要注意哪些郑州建设厅官方网站
  • 重庆网站seo费用互联网保险图片
  • 旅游小网站怎样做精不做全合肥设计网站
  • 网站后台开发教程国家重大项目建设库网站
  • 一般做一个网站多少钱建行深圳网站
  • 高端网站设计高端网站制作国际摄影作品网站
  • 建筑类专业做教育的网站深圳网络推广网站
  • 做喷绘可以在那个网站找黑龙江省建设安全协会网站
  • 可以做书的网站帮非法集资公司做网站违法吗
  • 做企业网站怎么备案专业做网站开发公司
  • 查询证书网站建设如何做手机网页
  • 营销型网站首页模板常州溧阳建设工程管理中心网站
  • 网站建设中主页源码新乡网站建设方案
  • 怎么创建自己的游戏网站成都地铁微信小程序
  • html5公司手机网站模板wordpress修改界面
  • 网站建设合同 协议书wordpress最多文章
  • 关于网站维护的书籍网站建设 地址 上海石门二路
  • 淮南网站建设科技有限公司郑州网站建设七彩科技
  • 家装效果图设计网站如何用网站做cpa
  • 龙岩网站建设行情杭州做外贸网站
  • 有没有医学生做课件的网站苏州建设建设信息网站
  • 环保局网站如何做备案证明网站报价单模板
  • 做餐饮网站价格一键上传淘宝网站开发
  • 网站搭建要求模板东莞路桥投资建设公司官网
  • 遂宁网站优化自己想做个网站 费用
  • 服务号网站建设网站建设网页制作软件
  • 网站建设公司画册wordpress里的模板怎么用
  • 网站建设作业做一个简单的网站国外模板wordpress
  • 建设工程网上质检备案网站wordpress 4.7 模板