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

厦门最早做网站的公司wordpress wp大学

厦门最早做网站的公司,wordpress wp大学,做美食的视频网站,景安 怎么把网站做别名文章目录1、什么是SSM框架1.1、持久层1.2、业务层1.3、表现层1.4、View层1.5、SpringMVC执行流程1.6、MyBatis2、SSM实战搭建2.1、创建工程2.2、添加依赖2.3、配置spring.xml文件2.4、配置web.xml文件2.5、log4j.properties2.6、准备表2.7、实体类2.8、mapper2.9、service2.10、… 文章目录1、什么是SSM框架1.1、持久层1.2、业务层1.3、表现层1.4、View层1.5、SpringMVC执行流程1.6、MyBatis2、SSM实战搭建2.1、创建工程2.2、添加依赖2.3、配置spring.xml文件2.4、配置web.xml文件2.5、log4j.properties2.6、准备表2.7、实体类2.8、mapper2.9、service2.10、controller2.11、前端页面1、index.html2、addUser.jsp3、queryUser.jsp4、success.jsp和fail.jsp2.12、项目结构2.13、部署1、tomcat准备2、IDEA配置Tomcat3、运行4、Tomcat乱码问题1、什么是SSM框架 SSM框架是Spring、Spring MVC 和MyBatis框架的整合是标准的MVC模式标准的SSM框架有四层分别是dao层mapperservice层controller层和View层使用spring实现业务对象管理使用spring MVC负责请求的转发和视图管理mybatis作为数据对象的持久化引擎 1.1、持久层 持久层也就是我们常说的dao层或者mapper层 作用主要是做数据持久层的工作负责与数据库进行联络的一些任务都封装在此 Dao层首先设计的是接口然后再Spring的配置文件中定义接口的实现类然后可以在模块中进行接口的调用来进行数据业务的处理不在关心接口的实现类是哪个类数据源的配置以及有关数据库连接的参数都在Spring的配置文件中进行配置 1.2、业务层 业务层也就是我们常说的service层 作用Service层主要负责业务模块的逻辑应用设计 先设计接口然后再设计实类然后再在Spring的配置文件中配置其实现的关联业务逻辑层的实现具体要调用到自己已经定义好的Dao的接口上这样就可以在应用中调用Service接口来进行业务处理建立好Dao之后再建立service层service层又要在controller层之下因为既要调用Dao层的接口又要提供接口给controller层每个模型都有一个service接口每个接口分别封装各自的业务处理的方法 1.3、表现层 表现层也就是我们常说的Controller层 作用负责具体的业务模块流程的控制 配置也同样是在Spring的配置文件里面进行调用Service层提供的接口来控制业务流程业务流程的不同会有不同的控制器在具体的开发中可以将我们的流程进行抽象的归纳设计出可以重复利用的子单元流程模块 1.4、View层 作用主要和控制层紧密结合主要负责前台jsp页面的表示 各层之间的关系 1.5、SpringMVC执行流程 复杂版 1、 用户发送请求至前端控制器DispatcherServlet 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找)生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet 4、 DispatcherServlet调用HandlerAdapter处理器适配器 5、 HandlerAdapter经过适配调用具体的处理器(Controller也叫后端控制器) 6、 Controller执行完成返回ModelAndView 7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet 8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器 9、 ViewReslover解析后返回具体View 10、DispatcherServlet根据View进行渲染视图即将模型数据填充至视图中 11、 DispatcherServlet响应用户 简单版 1.客户端发送请求到DispacherServlet分发器 2.由DispacherServlet控制器查询HanderMapping找到处理请求的Controller 3.Controller调用业务逻辑处理后返回ModelAndView 4.DispacherSerclet查询视图解析器找到ModelAndView指定的视图 5.视图负责将结果显示到客户端 1.6、MyBatis MyBatis是对jdbc的封装它让数据库底层操作变的透明MyBatis的操作都是围绕一个SqlSessionFactory实例展开的MyBatis通过配置文件关联到各实体类的Mapper文件Mapper文件中配置了每个类对数据库所需进行的sql语句映射在每次与数据库交互时通过SqlSessionFactory拿到一个SqlSession再执行sql命令所以MyBatis的核心是SqlSession 2、SSM实战搭建 搭建思路如下 2.1、创建工程 新建完成后工程目录结构如下 然后替换web.xml中的内容如下 ?xml version1.0 encodingUTF-8? web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0 /web-app2.2、添加依赖 在pom.xml中添加依赖如下 ?xml version1.0 encodingUTF-8?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/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcn.itsource/groupIdartifactIdSSMTest/artifactIdversion1.0-SNAPSHOT/versionpackagingwar/packagingnameSSMTest Maven Webapp/namepropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.target/propertiesdependencies!--spring-webmvc--dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.2.15.RELEASE/version/dependency!--mybatis依赖--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.6/version/dependency!--mybatis和spring整合的依赖--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.0.6/version/dependency!--mysql驱动--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.28/version/dependency!--druid连接池依赖--dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.2.1/version/dependency!--lombok依赖--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.24/version/dependency!--jackson java对象转换为json对象 ResponseBody--dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.13.2.2/version/dependency!--servlet-api依赖--dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.1/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.2.15.RELEASE/version/dependency!--sql日志--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactIdversion1.7.30/version/dependency/dependencies/project2.3、配置spring.xml文件 在main目录下新建java和resources目录如下如果有就不需要新建了 然后在resources目录下新建spring.xml内容如下 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvcxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd!--包扫描--context:component-scan base-packagecn.itsource /!-- 声明视图解析器 --bean classorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/jsp/ /property namesuffix value.jsp //bean!--静态资源放行--mvc:default-servlet-handler /!-- 声明springmvc注解驱动 --mvc:annotation-driven /!--数据源配置--bean iddataSource classcom.alibaba.druid.pool.DruidDataSourceproperty namedriverClassName valuecom.mysql.cj.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/ssmtest?serverTimezoneAsia/Shanghai/property nameusername valueroot/property namepassword value123456/!--初始化连接数量根据你项目的并发进行评估--!--最少连接池的个数--property nameminIdle value5/!--初始的连接池的个数--property nameinitialSize value5/!--最大的连接个数--property namemaxActive value10/!--超过的最大连接池个数等待时间 单位是毫秒--property namemaxWait value3000//beanbean idsessionFactory classorg.mybatis.spring.SqlSessionFactoryBean!--设置数据源--property namedataSource refdataSource /!--设置mybatis映射文件的路径--property namemapperLocations valueclasspath:mapper/*.xml //bean!--为dao接口生成代理实现类--bean classorg.mybatis.spring.mapper.MapperScannerConfigurerproperty namebasePackage valuecn.itsource.dao //bean/beans2.4、配置web.xml文件 web.xml内容如下 ?xml version1.0 encodingUTF-8? web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0!--servlet--servletservlet-namespring/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:spring.xml/param-value/init-param/servletservlet-mappingservlet-namespring/servlet-nameurl-pattern//url-pattern/servlet-mapping!-- 声明字符集过滤器 --filterfilter-nameCharacterEncodingFilter/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueutf-8/param-value/init-paraminit-paramparam-nameforceRequestEncoding/param-nameparam-valuetrue/param-value/init-paraminit-paramparam-nameforceResponseEncoding/param-nameparam-valuetrue/param-value/init-param/filterfilter-mappingfilter-nameCharacterEncodingFilter/filter-nameurl-pattern/*/url-pattern/filter-mapping /web-app2.5、log4j.properties 在resources目录下新建log4j.properties文件内容如下 log4j.rootLoggerDEBUG, Console #Console log4j.appender.Consoleorg.apache.log4j.ConsoleAppender log4j.appender.Console.layoutorg.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern%d [%t] %-5p [%c] - %m%n log4j.logger.java.sql.ResultSetINFO log4j.logger.org.apacheINFO log4j.logger.java.sql.ConnectionDEBUG log4j.logger.java.sql.StatementDEBUG log4j.logger.java.sql.PreparedStatementDEBUG2.6、准备表 在本地MySQL服务器中新建数据库【ssmtest】然后新建表【t_user】建表语句如下 DROP TABLE IF EXISTS t_user; CREATE TABLE t_user (id bigint(11) NOT NULL AUTO_INCREMENT COMMENT 主键ID,username varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 姓名,sex varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 性别,age int(3) NULL DEFAULT NULL COMMENT 年龄,intro varchar(12) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 个人简介,PRIMARY KEY (id) USING BTREE,INDEX idx_user_username(username) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 1 CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT 用户信息表 ROW_FORMAT DYNAMIC;2.7、实体类 package cn.itsource.entity;import lombok.Data;/*** p用户信息表对应实体类/p** author 波波老师(微信 javabobo0513)*/ Data public class User {private Long id;private String username;private String sex;private Integer age;private String intro; }2.8、mapper 在dao包下新建UserMapper类代码 package cn.itsource.dao;import cn.itsource.entity.User; import java.util.List;/*** pUserMapper/p** author 波波老师(微信 javabobo0513)*/ public interface UserMapper {//保存用户信息到数据库int saveUser(User user);//查询数据库中所有用户信息ListUser selectAllUser(); }在resources下的mapper文件夹中新建UserMapper.xml文件代码如下 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecn.itsource.dao.UserMapper!-- 使用 insert、update、delete、select 标签编写sql语句 --!--保存用户信息到数据库--insert idsaveUserinsert into t_user(username, sex, age, intro) values (#{username}, #{sex}, #{age}, #{intro})/insert!--查询所有用户信息--select idselectAllUser resultTypecn.itsource.entity.Userselect id, username, sex, age, intro from t_user order by id desc/select /mapper2.9、service 在service包下新建UserService类代码如下 package cn.itsource.service;import cn.itsource.entity.User; import java.util.List;/*** pUserService/p** author 波波老师(微信 javabobo0513)*/ public interface UserService {//保存用户信息到数据库int saveUser(User user);//查询数据库中所有用户信息ListUser selectAllUser(); }然后在service包下新建impl包其下新建UserServiceImpl类代码如下 package cn.itsource.service.impl;import cn.itsource.dao.UserMapper; import cn.itsource.entity.User; import cn.itsource.service.UserService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List;/*** pUserServiceImpl/p** author 波波老师(微信 javabobo0513)*/ Service public class UserServiceImpl implements UserService {//注入 UserMapper 对象Resourceprivate UserMapper userMapper;Overridepublic int saveUser(User user) {return userMapper.saveUser(user);}Overridepublic ListUser selectAllUser() {return userMapper.selectAllUser();} }2.10、controller 在controller包下新建UserController类代码如下 package cn.itsource.controller;import cn.itsource.entity.User; import cn.itsource.service.UserService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import java.util.List;/*** pUserController/p** author 波波老师(微信 javabobo0513)*/ RestController RequestMapping(/user) public class UserController {Resourceprivate UserService userService;/*** 新增用户* param user* return*/PostMapping(/saveUser)public ModelAndView saveUser(User user){ModelAndView mv new ModelAndView();int saveCount userService.saveUser(user);if(saveCount 0){mv.addObject(msg, 新增用户成功);mv.setViewName(success);}else{mv.addObject(msg, 新增用户失败);mv.setViewName(fail);}return mv;}/*** 查询所有用户信息* param user* return*/GetMapping(/selectAllUser)public ListUser selectAllUser(User user){ListUser userList userService.selectAllUser();return userList;} }2.11、前端页面 1、index.html 首先改造webapp目录下的index.html文件内容如下 % page contentTypetext/html;charsetutf-8 languagejava % %String basePathrequest.getScheme() :// request.getServerName() : request.getServerPort() request.getContextPath() /; % html headbase href%basePath%titleSSM实战案例/title /head body div aligncenterpSSM整合小案例/ptabletrtda hrefaddUser.jsp注册用户/a/tdtdbr//tdtda hrefqueryUser.jsp查询用户/a/td/tr/table /div /body /html效果如下 2、addUser.jsp 在webapp目录下新建文件addUser.jsp用来新增用户代码如下 % page contentTypetext/html;charsetutf-8 languagejava% html headtitle注册用户/title /head body div aligncenterp注册用户/pform actionuser/saveUser methodposttabletrtd姓名/tdtdinput typetext nameusername/td/trtrtd年龄/tdtdinput typetext nameage/td/trtrtd性别/tdtdinput typetext namesex/td/trtrtd简介/tdtdinput typetext nameintro/td/trtrtd/tdtdinput typesubmit value注册/td/tr/table/form /div /body /html效果如下 3、queryUser.jsp 在webapp目录下新建文件queryUser.jsp用来查询所有用户代码如下 % page contentTypetext/html;charsetutf-8 languagejava % %String basePathrequest.getScheme() :// request.getServerName() : request.getServerPort() request.getContextPath() /; % html headbase href%basePath%title查询学生/title%--script typetext/javascript srcjs/jquery-3.6.0.js/script--%script srchttps://code.jquery.com/jquery-3.6.0.min.js/scriptscript typetext/javascript$(function () {$(#myBtn).on(click,function () {$.ajax({url: user/selectAllUser,dataType: json,success: function (resp) {$(#userInfo).empty();$.each(resp, function (i,n) {$(#userInfo).append(trtd n.id /td td n.username /td td n.age /td td n.sex /td td n.intro /td/tr);})}})})})/scriptstyle.tdStyle{width: 100px;}/style /head body div aligncenterp用户列表 button idmyBtn获取用户信息/button/ptabletheadtrtd classtdStyleid/tdtd classtdStyle姓名/tdtd classtdStyle年龄/tdtd classtdStyle性别/tdtd classtdStyle简介/td/tr/theadtbody iduserInfo/tbody/table /div /body /html效果如下 4、success.jsp和fail.jsp 在webapp - WEB-INF目录下新建success.jsp和fail.jsp文件内容分别如下 success.jsp % page contentTypetext/html;charsetutf-8 languagejava % html headtitlesuccess/title /head body h3结果${msg}/h3 /body /html效果 fail.jsp % page contentTypetext/html;charsetutf-8 languagejava % html headtitlefail/title /head body h3结果${msg}/h3 /body /html2.12、项目结构 目前项目结构如下 2.13、部署 1、tomcat准备 本地部署到tomcat首先需要你本地有tomcat服务器下载地址 链接https://pan.baidu.com/s/1VpRboSME8R64yhXE4MwxiA 提取码nr43 下载下来后直接解压即可如下 我这里使用的tomcat版本是8.5.75 2、IDEA配置Tomcat 按照下面步骤一步一步做就可以在IDEA中配置好tomcat了 然后开始部署 然后 就成这样了 3、运行 启动成功后会自动打开页面如下 到此我们的SSM项目就部署完毕可以正常使用了 4、Tomcat乱码问题 上面我们可以看到Tomcat启动后控制台打印的日志出现了乱码按照下面方式做即可 打开tomcat安装目录下conf下的logging.properties文件 将该配置文件中的UTF-8全部改成GBK 然后再重启一下Tomcat就会发现已经没有乱码了 如果按照上面设置后还没有好的话就继续设置 查看下IDEA的字集是不是UTF-8确认一下不是的话改成UTF-8 打开IDEA的安装目录下的bin目录打开里面的idea64.exe.vmoptions文件 添加内容 -Dfile.encodingUTF-8 -Dconsole.encodingUTF-8
http://www.w-s-a.com/news/400942/

相关文章:

  • 什么网站可以学做西餐个人网站怎么做支付功能
  • 千户微建站平台做网站需要切图吗
  • 织梦cms 学校网站模板网站建设中的问题
  • 山东济南网站建设公司制作wordpress模板教程视频教程
  • 档案网站的建设怎样更新网站内容
  • 网站开发项目规划房地产趋势与前景
  • 网上网站开发这个百度的网站怎么做的
  • 南昌市建设局官方网站网龙网络公司地址
  • 自助建站平台源码公司网站谁负责做
  • 旅游的网站怎么做网站流量的主要来源有
  • 高新网站设计找哪家网络科技有限公司实习报告
  • 专业网站建设质量推荐网络销售是做网站推广
  • 旅游网站建设模板wordpress最好最全的教程
  • 网站站长在哪登陆后台网站设计一年费用
  • 济南比较好的网站建设公司邢台信息网123
  • 双峰网站建设漳州优化网站建设
  • app和网站开发的成本虚拟主机是啥
  • 想做一个自己设计公司的网站怎么做的销售培训
  • 南昌网站建设模板合作凡客app哪去了
  • 有免费做网站的吗建设互联网站
  • 北京市保障房建设投资中心网站淄博哪个网站做房屋出赁好
  • 如何做网站的优化网站开发怎么收费
  • 网站的关键词怎么选择2345实用查询
  • 免费的制作网站做图剪片文案网站app接单
  • 中国有多少网站有多少域名上海网站建设网页制作邢台
  • 网站 数据报表如何做室内设计联盟官方网站入口
  • 怎样建设网站论文合肥做网站的软件公司
  • 收款后自动发货的网站是怎么做的怎么看网站后台网页尺寸
  • 谷歌seo引擎优化宁波seo关键词
  • 外贸网站建设需要注意什么seo课程