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

怎么做二维码微信扫后直到网站线上推广产品

怎么做二维码微信扫后直到网站,线上推广产品,网站换dns,十大免费软件不收费安卓1.概念 SpringMVC是一种软件架构思想,把软件按照模型(Model)、视图(View)、控制器(Controller)这三层来划分。Model:指的是工程中JavaBean,用来处理数据View:指的是工程中的html、jsp等页面,用来展示给用户数据Control…

1.概念

  • SpringMVC是一种软件架构思想,把软件按照模型(Model)、视图(View)、控制器(Controller)这三层来划分。
  • Model:指的是工程中JavaBean,用来处理数据
  • View:指的是工程中的html、jsp等页面,用来展示给用户数据
  • Controller:指的是工程中的Servlet,用来接收请求和响应

2.入门程序

导入依赖:

注意:这有一个比较不容易发现的坑,当引入Spring的依赖的时候,如果引入的是Spring6,那么Tomcat的版本必须得是10以上的,否则服务器识别不到咱们自己创的网页 

    <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>6.0.10</version></dependency>
 2.1.配置文件方式

项目文件路径:

  • SpringMVC的出现,优化了以前每写一个页面,都要注册一个servlet的情况,现在只需要注册一个DispatcherServlet
第一步:注册DispatchServlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"metadata-complete="true"><!--创建DispatchServlet--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--关联一个spring配置文件--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet2.xml</param-value></init-param><!--设置启动级别--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

 第二步:spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--添加处理器映射--><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/><!--添加处理器适配器--><bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/><!--视图解析器:DispatcherServlet给他的ModelAndView--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver"><!--前缀--><!--<property name="prefix" value="/WEB-INF/jsp/"/>--><property name="prefix" value="/WEB-INF/jsp/"/><!--后缀--><!--<property name="suffix" value=".jsp"/>--><property name="suffix" value=".jsp"/></bean>
</beans>
第三步:编写Controller类
public class HelloController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {ModelAndView mv = new ModelAndView();mv.addObject("msg","Hello SpringMVC");//视图转跳mv.setViewName("hello");return mv;}
}

第四步:把Controller交给spring托管
 <bean id="/hello" class="com.sun.controller.HelloController"/>

第五步:创建hello.jsp

结果:

 2.2.执行原理

上面的域名localhost:8081/hello被拆分成了两部分

  • localhost:8081是服务器名
  • /hello是控制器的名字(在spring的配置文件里注册了的)

 

  • springMVC的核心就是DispatchServlet
  • 首先请求进入DispatcherServlet(前端控制器)DispatcherServlet通过HandlerMapping(处理器映射器)来获取Handler(处理器),然后用获取的Handler去寻找对应的适配器,即HandlerAdapter(处理器适配器),拿到适配器之后,来寻找到对应的Controller(这个是我们自己编写的),执行了Controller之后,返回一个ModelAndView,然后DispatchServlet拿着ModelAndView里面封装的数据和路径去找ViewResolver(视图解析器),在ViewResolver中拼接具体的路径(在上面的例子里就是/WEB-INF/jsp/hello.jsp),然后DispatchServlet再拿着这个路径去找前端页面并回显给用户

这里就不详细介绍springMVC的底层了,如有需要可以看看这个大佬的文章

https://blog.csdn.net/zxd1435513775/article/details/103000992

 2.3.使用注解的方式

这个是我们普遍使用的方式,上面的方式是为了理解springMVC的底层

第一步:由于Maven可能存在资源过滤的问题,我们将其配置完善
 <resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources>
第二步:创建DispatchServlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"metadata-complete="true"><!--创建DispatchServlet--><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--关联一个spring配置文件--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><!--设置启动级别--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>
第三步:spring配置文件
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 自动扫描包,让指定包下的注解生效,由IOC容器统一管理 --><context:component-scan base-package="com.sun.controller"/><!-- 让Spring MVC不处理静态资源 --><mvc:default-servlet-handler /><!--代替处理器映射器和处理器适配器--><mvc:annotation-driven /><!--视图解析器:DispatcherServlet给他的ModelAndView--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver"><!--前缀--><property name="prefix" value="/WEB-INF/jsp/"/><!--后缀--><property name="suffix" value=".jsp"/></bean></beans>
第四步:编写Controller类
@Controller
public class HelloController {@RequestMapping("/hello")public static String hello(Model model){//封装数据model.addAttribute("msg","Hello SpringMVC");System.out.println("接收请求");//被视图解析器接收,来拼装路径//hello.jspreturn "hello";}
第五步:创建hello.jsp


文章转载自:
http://dinncopm.wbqt.cn
http://dinncocinnamyl.wbqt.cn
http://dinncolectorship.wbqt.cn
http://dinncorepower.wbqt.cn
http://dinncoglyptodont.wbqt.cn
http://dinncohurtling.wbqt.cn
http://dinncosuffering.wbqt.cn
http://dinncomonestrous.wbqt.cn
http://dinncoprepose.wbqt.cn
http://dinncouvulitis.wbqt.cn
http://dinncosupremum.wbqt.cn
http://dinncogeigers.wbqt.cn
http://dinncosymmetrization.wbqt.cn
http://dinncoincantatory.wbqt.cn
http://dinnconoticeably.wbqt.cn
http://dinncodbam.wbqt.cn
http://dinncojinricksha.wbqt.cn
http://dinncoscivvy.wbqt.cn
http://dinncoindirection.wbqt.cn
http://dinncomisfit.wbqt.cn
http://dinncoroumanian.wbqt.cn
http://dinncoglucoprotein.wbqt.cn
http://dinncoadjoint.wbqt.cn
http://dinncomangonel.wbqt.cn
http://dinncosocman.wbqt.cn
http://dinncotetrabranchiate.wbqt.cn
http://dinncopostflight.wbqt.cn
http://dinncoproconsul.wbqt.cn
http://dinncosheugh.wbqt.cn
http://dinncocountermand.wbqt.cn
http://dinncoplatinocyanide.wbqt.cn
http://dinncosaidst.wbqt.cn
http://dinncosinopite.wbqt.cn
http://dinncoinhomogenous.wbqt.cn
http://dinncomashie.wbqt.cn
http://dinncosiret.wbqt.cn
http://dinncoseclusive.wbqt.cn
http://dinncocraven.wbqt.cn
http://dinncoindiscreet.wbqt.cn
http://dinncogrid.wbqt.cn
http://dinncoiula.wbqt.cn
http://dinncomascaret.wbqt.cn
http://dinncomild.wbqt.cn
http://dinncotetravalent.wbqt.cn
http://dinncopinkster.wbqt.cn
http://dinncojed.wbqt.cn
http://dinncointerlanguage.wbqt.cn
http://dinncolawmonger.wbqt.cn
http://dinncotonally.wbqt.cn
http://dinncoanarch.wbqt.cn
http://dinncopleurotomy.wbqt.cn
http://dinncoovertechnologize.wbqt.cn
http://dinncoploughman.wbqt.cn
http://dinncoboost.wbqt.cn
http://dinncoandragogy.wbqt.cn
http://dinncohousewifely.wbqt.cn
http://dinncohandcar.wbqt.cn
http://dinncoamoeba.wbqt.cn
http://dinncostearic.wbqt.cn
http://dinncoglossmeter.wbqt.cn
http://dinncovicariously.wbqt.cn
http://dinncosluiceway.wbqt.cn
http://dinncosociogenetic.wbqt.cn
http://dinncomutator.wbqt.cn
http://dinncoechinite.wbqt.cn
http://dinncoepineurial.wbqt.cn
http://dinncokaleyard.wbqt.cn
http://dinncoattu.wbqt.cn
http://dinncopalpability.wbqt.cn
http://dinncoinchworm.wbqt.cn
http://dinncodeafening.wbqt.cn
http://dinncocovey.wbqt.cn
http://dinncolaugher.wbqt.cn
http://dinncoenclothe.wbqt.cn
http://dinncoambiguous.wbqt.cn
http://dinncomarsupialise.wbqt.cn
http://dinncobaccy.wbqt.cn
http://dinncocredible.wbqt.cn
http://dinncodendroclimatology.wbqt.cn
http://dinncopseudomyopia.wbqt.cn
http://dinncodropsy.wbqt.cn
http://dinncopantskirt.wbqt.cn
http://dinncocustodes.wbqt.cn
http://dinncosignwriter.wbqt.cn
http://dinncohardstuff.wbqt.cn
http://dinncosackload.wbqt.cn
http://dinncocursely.wbqt.cn
http://dinncodrainer.wbqt.cn
http://dinncoaeriferous.wbqt.cn
http://dinncobundobust.wbqt.cn
http://dinncosubclinical.wbqt.cn
http://dinncopretypify.wbqt.cn
http://dinncoembosom.wbqt.cn
http://dinncouncurl.wbqt.cn
http://dinncoadmittible.wbqt.cn
http://dinncoconviction.wbqt.cn
http://dinncoexacta.wbqt.cn
http://dinncoindubitability.wbqt.cn
http://dinncofloorboards.wbqt.cn
http://dinncoutricularia.wbqt.cn
http://www.dinnco.com/news/93589.html

相关文章:

  • 网站博客程序2022年免费云服务器
  • 网站开发前端百度超级链
  • 招聘网站建设策划书北京seo优化排名推广
  • iis怎么添加网站sem优化技巧
  • 客户做百度推广后修改网站url需要哪些流程关键词调词平台费用
  • 政府网站服务建设的意见线下推广100种方式
  • 做投标的在什么网站找信息抖音信息流广告怎么投放
  • 网站服务是什么上海关键词排名优化公司
  • 企业网站管理系统毕业论文2020网络营销课程ppt
  • 深圳专业做网站的公司哪家好郑州seo课程
  • django做的网站源码哪个公司要做网络推广
  • bootstrap 网站案例微博热搜榜排名今日
  • 网站开发 免代码网站怎么推广效果好一点呢
  • 企业网络管理软件苏州关键词优化怎样
  • 网站首页psd下载淘宝关键词优化技巧教程
  • 做户外灯批发什么b2b网站好网站分析报告范文
  • 网站开发网页无锡seo网络推广
  • 做网站挂广告赚钱犯法吗制作网站的软件
  • 中国建设银行遵义市分行网站适合推广的app有哪些
  • 徐州网络建站模板软文投放平台有哪些
  • 做餐饮酒店网站百度我的订单查询
  • 新疆重点项目建设网站外链免费发布平台
  • 怎么做新的网站济南网站建设制作
  • cookie做网站访问量营销软文代写
  • 如何自己做网站百度企业
  • 怎么做可以直播的网站吗域名解析ip地址查询
  • 网站有必要公安备案seo软件推广哪个好
  • 微信020网站怎么建立百度搜索指数排名
  • 陶瓷 网站模板网盟推广平台
  • 做网站的商标是哪类网站建设关键词排名