一、spring boot 1.5.4入门(web+freemarker)
1.配置maven文件pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hdwang</groupId> <artifactId>spring-boot-test</artifactId> <version>1.0-SNAPSHOT</version> <name>spring-boot-test</name> <description>project for test Spring Boot</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <!-- Inherit defaults from Spring Boot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> <relativePath/> </parent> <dependencies> <!-- Add typical dependencies for a web application --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <!-- auto redeploy --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <!-- Package as an executable jar --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
2.文件结构(static/templates/application.properties/logback.xml的名称都是约定好了的,只可以使用某几个名称,具体参考spring boot官方文档,下面的名称是其中一种配置方式)
3.建立启动类(放在顶层,子层(下级文件夹)的类方可被扫描注入)
@SpringBootApplication public class Application { /** * main function * @param args params */ public static void main(String[] args){ SpringApplication.run(Application.class,args); } }
4.建立controller(在Application类的下级目录中)
@Controller @RequestMapping("/common") public class Common { @Value("${msg:Welcome!}") private String msg; /** * get a page * @return a page with name called return value */ @RequestMapping("login") public String getLoginPage(ModelMap map){ map.put("welcomeMsg",this.msg); return "login"; } }
5.建立网页模板login.ftl(freemarker必须使用ftl后缀,被这个坑了好久!js/css啥的都放在相应文件夹下,注意访问路径中不带/static,也被这个坑了好久!)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <! DOCTYPE html> < html > < head > < meta charset="UTF-8" /> < title >login</ title > < link href="/css/home.css" rel="stylesheet" type="text/css" /> < script type="text/javascript" src="/js/jquery-2.0.3.min.js"></ script > < script type="text/javascript" src="/js/home.js"></ script > </ head > < body > < h1 >login page</ h1 > < h2 >${welcomeMsg}</ h2 > < form > < div > < label >用户名:< input type="text" id="username"/></ label > </ div > < div > < label >密码:< input type="password"/></ label > </ div > < div > < input type="submit" value="提交"/> < input type="reset" value="重置" /> </ div > </ form > </ body > </ html > |
6.应用配置文件编写
新建application.properties文件并添加以下内容
msg=Ladies and gentleman,Welcome!
7.启动运行
浏览器中访问:http://localhost:8080/common/login
8.部署
mvn package 打个包
java -jar xxx.jar 运行这个包即可
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库