广州市网站公司,定州网站制作多少钱,服装高级定制,自己如何建设个网站1 、还是熟悉的配方#xff0c;先创建一个父Maven项目#xff08;忘记怎么创建项目了就去前面翻笔记#xff09;#xff0c;导入通用的配置依赖
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instan…1 、还是熟悉的配方先创建一个父Maven项目忘记怎么创建项目了就去前面翻笔记导入通用的配置依赖
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/modelVersiongroupIdorg.example/groupIdartifactIdSprinMVC_Father/artifactIdpackagingwar/packagingversion1.0-SNAPSHOT/versionnameSprinMVC_Father Maven Webapp/nameurlhttp://maven.apache.org/urldependencies!--导入junit依赖方便后续测试 --dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependency!--导入SpringMVC依赖 --dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.1.9.RELEASE/version/dependency!--导入servlet依赖 --dependencygroupIdjavax.servlet/groupIdartifactIdservlet-api/artifactIdversion2.5/version/dependency!--导入jsp依赖 --dependencygroupIdjavax.servlet.jsp/groupIdartifactIdjsp-api/artifactIdversion2.2/version/dependency!--导入jsptl依赖 --dependencygroupIdjavax.servlet/groupIdartifactIdjstl/artifactIdversion1.2/version/dependency/dependenciesbuildfinalNameSprinMVC_Father/finalName/build
/project2、创建子项目并确定子项目支持web项目 给子项目也导入servlet和jsp的依赖双重导入确保不会出错正常的话父项目导入了子项目不导入也可以这里我们导入两次确保不会出问题 !--导入servlet依赖 --dependencygroupIdjavax.servlet/groupIdartifactIdservlet-api/artifactIdversion2.5/version/dependency!--导入jsp依赖 --dependencygroupIdjavax.servlet.jsp/groupIdartifactIdjsp-api/artifactIdversion2.2/version/dependency
3、创建一个helleservlet类继承httpservlet用来处理用户的请求,实现父类的doGet和doPost方法
package com.li.myservlet;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class HellServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//1、获取前段参数String method req.getParameter(method);if(method.equals(add)){req.getSession().setAttribute(msg,执行了add方法);}if(method.equals(delete)){req.getSession().setAttribute(msg,执行了delete方法);}//2、调用业务层 暂时没有业务成//3、视图转发或重定向req.getRequestDispatcher(/WEB-INF/jsp/test.jsp).forward(req,resp);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}顺便在web里写个测试页面 Date: 2024/4/6Time: 16:45To change this template use File | Settings | File Templates.
--%
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitleTitle/title
/head
body
${msg}
/body
/html
再写个表单测试
%--Created by IntelliJ IDEA.User: AdministratorDate: 2024/4/6Time: 17:10To change this template use File | Settings | File Templates.
--%
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitle表单/title
/head
body
form action/hello methodpost
input typetext namemethodinput typesubmit
/form
/body
/html3、写完servlet的第一件事情就是给它去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/web-app
注册完后的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-namehello/servlet-nameservlet-classcom.li.myservlet.HellServlet/servlet-class/servletservlet-mappingservlet-namehello/servlet-nameurl-pattern/hello/url-pattern/servlet-mapping!--还有一些其他的配置 --!--可以设置session的超时时间 这里设置15分钟 --
!-- session-config--
!-- session-timeout15/session-timeout--
!-- /session-config--!--也可以在这里设置欢迎页面 默认的是 index.jsp --
!-- welcome-file-list--
!-- welcome-filexxx.jsp/welcome-file--
!-- /welcome-file-list--
/web-app最后目录如下 3、一切都写完了就配置tomcat 3、初识SpringMVC SpringMVC的原理如下 4、对 SpringMVC有初步了解之后我们再来创建一次项目
第一步创建视图 第二步确保最后发布的项目中导入了SpringMVC的依赖 第三步在web.xml配置文件中配置我们的DispatchServlet
?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
!--配置DispatchServlet:这个是SpringMVC的核心请求分发器前端控制器--servletservlet-namespringmvc/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!--DispatchServlet要绑定一个Spring-mvc的配置文件 其实就是spring的配置文件只是spring可以做很多事情我们细分下来叫Spring-mvc的配置文件--init-paramparam-namecontextConfigLocation/param-name!--这里配置文件取名字就是按照上面的servlet-name的名字取的xxx-servlet --param-valueclasspath:springmvc-servlet.xml/param-value/init-param!--设置启动级别为1 --load-on-startup1/load-on-startup/servlet!--SpringMVC中/ 和 /* 的区别/ 只匹配所有的请求不会去匹配jsp页面/* 匹配所有的请求包括jsp页面--servlet-mappingservlet-namespringmvc/servlet-nameurl-pattern//url-pattern/servlet-mapping/web-app
第四步编写springmvc的配置文件其实就是spring的配置文件
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd!--处理器映射器 处理器映射器不止有一种--bean classorg.springframework.web.servlet.handler.BeanNameUrlHandlerMapping/
!--处理器适配器 这个和上面的处理映射器在后期的开发中直接注解就可以实现不用死记知道流程就可以--bean classorg.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter/
!--视图解析器这个必须熟练掌握 后面还会学习一些模板引擎如 Thymeleaf Freemarker--bean classorg.springframework.web.servlet.view.InternalResourceViewResolver idinternalResourceViewResolver!--需要配置两个参数一个前缀一个后缀--
!-- 前缀 --property nameprefix value/WEB-INF/jsp//
!-- 后缀 --property namesuffix value.jsp//bean/beans
第五步编写Controller
package com.li.controller;import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class HelloController implements Controller {Overridepublic ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {ModelAndView modelAndView new ModelAndView();// 假设一个业务代码String result HelloSpringmvc;modelAndView.addObject(msg,result);// 视图跳转modelAndView.setViewName(test);return modelAndView;}
}4、真实的开发一般不会像上面这样用
第一步配置web.xml配置文件
!DOCTYPE web-app PUBLIC-//Sun Microsystems, Inc.//DTD Web Application 2.3//ENhttp://java.sun.com/dtd/web-app_2_3.dtd web-appdisplay-nameArchetype Created Web Application/display-name!--配置DispatchServlet:这个是SpringMVC的核心请求分发器前端控制器--servletservlet-namespringmvc/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!--DispatchServlet要绑定一个Spring-mvc的配置文件 其实就是spring的配置文件只是spring可以做很多事情我们细分下来叫Spring-mvc的配置文件--init-paramparam-namecontextConfigLocation/param-name!--这里配置文件取名字就是按照上面的servlet-name的名字取的xxx-servlet --param-valueclasspath:springmvc-servlet.xml/param-value/init-param!--设置启动级别为1 --load-on-startup1/load-on-startup/servlet!--SpringMVC中/ 和 /* 的区别/ 只匹配所有的请求不会去匹配jsp页面/* 匹配所有的请求包括jsp页面--servlet-mappingservlet-namespringmvc/servlet-nameurl-pattern//url-pattern/servlet-mapping/web-app第二步创建并配置springmvct配置文件
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:mvchttp://www.springframework.org/schema/mvcxmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd!-- 自动扫描包让指定包下的注解生效,由IOC容器统一管理 --context:component-scan base-packagecom.li.controller/!-- 让Spring MVC不处理静态资源 --mvc:default-servlet-handler /!--支持mvc注解驱动在spring中一般采用RequestMapping注解来完成映射关系要想使RequestMapping注解生效必须向上下文中注册DefaultAnnotationHandlerMapping和一个AnnotationMethodHandlerAdapter实例这两个实例分别在类级别和方法级别处理。而annotation-driven配置帮助我们自动完成上述两个实例的注入。--mvc:annotation-driven /!-- 视图解析器 --bean classorg.springframework.web.servlet.view.InternalResourceViewResolveridinternalResourceViewResolver!-- 前缀 --property nameprefix value/WEB-INF/jsp/ /!-- 后缀 --property namesuffix value.jsp //bean/beans
第三步创建controlle类
package com.li.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
//Controller是为了让Spring IOC容器初始化时自动扫描到
//RequestMapping是为了映射请求路径这里因为类与方法上都有映射所以访问时应该是/HelloController/helloControllerRequestMapping(/HelloController)public class HelloController {//真实访问地址 : 项目名/HelloController/helloRequestMapping(/hello)
// 方法中声明Model类型的参数是为了把Action中的数据带到视图中public String sayHello(Model model){//向模型中添加属性msg与值可以在JSP页面中取出并渲染model.addAttribute(msg,hello,SpringMVC);
// 方法返回的结果是视图的名称hello加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp。return hello;}}第四步常见视图层(注意要在springmvct配置文件中配置的路径下创建视图层)
这里的路径是:/WEB-INF/jsp/
%--Created by IntelliJ IDEA.User: AdministratorDate: 2024/4/13Time: 16:29To change this template use File | Settings | File Templates.
--%
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitleTitle/title
/head
body
${msg}
/body
/html总结
实现步骤其实非常的简单
新建一个web项目导入相关jar包编写web.xml , 注册DispatcherServlet编写springmvc配置文件接下来就是去创建对应的控制类 , controller最后完善前端视图和controller之间的对应测试运行调试.
使用springMVC必须配置的三大件
处理器映射器、处理器适配器、视图解析器
通常我们只需要手动配置视图解析器而处理器映射器和处理器适配器只需要开启注解驱动即可而省去了大段的xml配置