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

重庆品牌型网站建设多少钱成都建站优化

重庆品牌型网站建设多少钱,成都建站优化,wordpress高级图片主题,内部网站建设教程Spring Boot 整合 Web 开发全攻略 在 Web 开发中,Spring Boot 凭借其“约定大于配置”的思想,极大简化了传统 Spring 项目的繁琐配置。本文基于 Spring Boot 对 Web 开发的整合特性,详细讲解如何在 Spring Boot 中注册 Web 组件(S…

Spring Boot 整合 Web 开发全攻略

在 Web 开发中,Spring Boot 凭借其“约定大于配置”的思想,极大简化了传统 Spring 项目的繁琐配置。本文基于 Spring Boot 对 Web 开发的整合特性,详细讲解如何在 Spring Boot 中注册 Web 组件(Servlet、Filter、Listener)、管理静态资源以及使用 JSP 和 Thymeleaf 模板引擎,帮助开发者快速搭建 Web 应用。

一、Spring Boot 整合 Web 开发的优势

传统 Spring 项目开发 Web 应用时,需要在 web.xml 中手动配置 Servlet、Filter、Listener 等组件,还需处理依赖冲突、容器整合等问题。而 Spring Boot 通过以下特性简化了 Web 开发:

  • 自动配置:默认整合 Tomcat 作为嵌入式容器,无需手动部署 WAR 包,直接以 JAR 包形式运行。
  • 组件注册简化:通过注解或配置类即可注册 Web 组件,无需编写 XML 配置。
  • 静态资源管理:内置静态资源目录,无需额外配置即可访问 CSS、JS、图片等资源。
  • 模板引擎支持:推荐使用 Thymeleaf 作为动态页面模板,同时也支持 JSP(需额外配置)。

二、Web 核心组件注册

Web 组件(Servlet、Filter、Listener)是 Web 应用的基础,Spring Boot 提供了两种注册方式:注解扫描配置类注册

1. 注解扫描方式(推荐)

通过 @WebServlet@WebFilter@WebListener 注解标记组件,并在启动类添加 @ServletComponentScan 开启扫描,即可自动注册组件。

示例 1:注册 Servlet
// 定义 Servlet
@WebServlet("/first") // 映射访问路径
public class FirstServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {System.out.println("First Servlet 执行...");resp.getWriter().write("Hello Servlet");}
}
示例 2:注册 Filter
// 定义 Filter
@WebFilter(urlPatterns = "/first") // 拦截路径
public class FirstFilter implements Filter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System.out.println("进入 First Filter");chain.doFilter(request, response); // 放行请求System.out.println("离开 First Filter");}
}
示例 3:注册 Listener
// 定义 Listener
@WebListener
public class FirstListener implements ServletContextListener {@Overridepublic void contextInitialized(ServletContextEvent sce) {System.out.println("Servlet 容器初始化完成...");}
}
启动类开启扫描
@SpringBootApplication
@ServletComponentScan // 扫描 Web 组件注解
public class WebApplication {public static void main(String[] args) {SpringApplication.run(WebApplication.class, args);}
}

2. 配置类注册方式

若需动态配置组件(如动态指定路径、初始化参数),可通过配置类手动注册组件。

示例:配置类注册 Servlet
@Configuration
public class ServletConfig {@Beanpublic ServletRegistrationBean<SecondServlet> getServletRegistrationBean() {// 注册 Servlet 实例ServletRegistrationBean<SecondServlet> bean = new ServletRegistrationBean<>(new SecondServlet());bean.addUrlMappings("/second"); // 设置访问路径bean.setLoadOnStartup(1); // 启动优先级return bean;}
}// 定义 Servlet(无需注解)
public class SecondServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {resp.getWriter().write("Hello Second Servlet");}
}

同理,可通过 FilterRegistrationBean 注册 Filter,ServletListenerRegistrationBean 注册 Listener,用法与 Servlet 注册类似。

三、静态资源管理

Spring Boot 对静态资源(CSS、JS、图片等)有默认的目录约定,无需额外配置即可访问。

1. 默认静态资源目录

Spring Boot 会自动扫描以下目录中的静态资源:

  • classpath:/static/(推荐)
  • classpath:/public/
  • classpath:/resources/
  • classpath:/META-INF/resources/

例如,在 src/main/resources/static/css/ 下放置 style.css,可通过 http://localhost:8080/css/style.css 直接访问。

2. 自定义静态资源目录

若需修改静态资源目录,可在配置文件中自定义:

# application.yml
spring:web:resources:static-locations: classpath:/suibian/, classpath:/static/ # 自定义目录为 /suibian/,同时保留默认 /static/

⚠️ 注意:自定义目录会覆盖默认配置,若需保留默认目录需手动添加。

四、动态页面开发

Spring Boot 推荐使用 Thymeleaf 作为模板引擎,同时也支持 JSP(需额外配置)。

1. 使用 Thymeleaf(推荐)

Thymeleaf 是一款基于 HTML 的模板引擎,支持静态预览(无需启动服务器即可查看页面结构),与 Spring Boot 无缝整合。

步骤 1:添加依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
步骤 2:创建模板文件

src/main/resources/templates/ 目录下创建 index.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"> <!-- 引入 Thymeleaf 命名空间 -->
<head><title>Thymeleaf 示例</title>
</head>
<body><h1 th:text="${msg}">默认文本</h1> <!-- 动态替换文本 -->
</body>
</html>
步骤 3:编写控制器跳转
@Controller
public class PageController {@GetMapping("/show")public String showPage(Model model) {model.addAttribute("msg", "Hello Thymeleaf"); // 传递数据到页面return "index"; // 跳转至 templates/index.html}
}

2. 使用 JSP(不推荐)

Spring Boot 对 JSP 支持有限,需手动配置 JSP 引擎和目录。

步骤 1:添加 JSP 依赖
<dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId>
</dependency>
步骤 2:创建 webapp 目录

src/main/ 下创建 webapp/WEB-INF/jsp/ 目录,放置 JSP 文件(如 myJsp.jsp)。

步骤 3:配置视图解析器
# application.yml
spring:mvc:view:prefix: /WEB-INF/jsp/suffix: .jsp
步骤 4:控制器跳转
@Controller
public class JspController {@GetMapping("/jsp")public String showJsp() {return "myJsp"; // 跳转至 webapp/WEB-INF/jsp/myJsp.jsp}
}

五、常见问题与解决方案

  1. 静态资源访问 404?

    • 检查资源是否放在默认目录(staticpublic 等)或自定义目录中。
    • 确认资源路径是否正确(如 http://localhost:8080/img/logo.png 对应 static/img/logo.png)。
  2. Thymeleaf 模板无法解析?

    • 检查模板文件是否在 templates 目录下。
    • 确认控制器返回的视图名与模板文件名一致(不含 .html 后缀)。
  3. JSP 页面无法访问?

    • 确保已添加 tomcat-embed-jasper 依赖。
    • 检查 webapp 目录是否被标记为 Web 资源目录(IDEA 中右键目录 → Mark Directory asWeb Resource Directory)。

总结

Spring Boot 整合 Web 开发通过自动配置和简化的组件注册方式,大幅降低了开发难度。本文介绍了 Web 组件注册(注解扫描与配置类两种方式)、静态资源管理(默认目录与自定义配置)以及动态页面开发(Thymeleaf 与 JSP),覆盖了 Web 开发的核心场景。

实际开发中,推荐使用 Thymeleaf 作为模板引擎,配合注解方式注册组件,既能享受静态预览的便捷,又能减少配置工作量。

http://www.dtcms.com/a/421707.html

相关文章:

  • 电商网站收费吗软件定制网站优化 seo一站式
  • 外包加工网怎么样网站seo关键词排名
  • asp wordpress做seo的网站是怎么样的
  • 网站的站点的管理系统给网站权限
  • 如何做一个企业的网站各地信息推广平台
  • 不能访问子目录的网站做问卷赚钱的网站
  • 天津网站推广公司哪家好网页广告
  • 微信分销网站开发淘宝美工做兼职的网站
  • 企业做淘宝网站需要多少钱在哪建网站
  • 做素材网站存储昆山网站建设义搏
  • 郑州网站制作工作室有域名建网站
  • 佛山顺德网站建设公司哪家好二级网站怎么建设
  • 大城 网站常见的网站推广方式
  • vs2019可以做网站吗关键词优化需要从哪些方面开展?
  • 美发网站源码徐州网站开发多少钱
  • 网红网站建设官网app开发公司有哪些
  • 电子商务网站建设服务模式论文wordpress 用的什么框架
  • 响应式网站 appwordpress改登录路径
  • 用python做网站我那些wordpress标签描述代码
  • 江西临川建设集团有限公司网站少儿编程平台
  • 信息发布网站建设2023年央选职位表
  • 广州网站建设企业武义公司网站建设
  • 网站制作计划书网址域名ip查询子域名解析
  • 某网站seo诊断分析上海缔客网站建设公司
  • 陕西省建设厅申报网站wordpress建站dedecms
  • 北京 外贸型网站建设抖音代运营朋友圈文案
  • 建设银行申请信用卡网站腐女做喜欢的网站
  • 编写网站策划方案公众号怎么开通收费功能
  • 有没有什么做h5的网站最好的网站统计
  • 网站开发的三个流程网站建设推广优化招聘模板