Controller

本文详细介绍了Spring Boot项目中静态资源(如CSS、图片、JS)的配置,以及如何通过模板引擎(如Layui)构建网页。同时,讲解了控制器的角色,如何通过@RequestMapping和@GetMapping注解处理HTTP请求,实现动态路由到对应的HTML页面。此外,还强调了项目运行状态、端口配置和权限管理在实际应用中的重要性。
摘要由CSDN通过智能技术生成

Src/main/resources—>

Static:一个网站里边所用到的所有的静态资源:比如图片,脚本文件,css文件......

templates:模板,模板引擎就是将这个文件里的模板变成一个一个的网页,然后扔给你的浏览器

这俩需要自己配置,不多说了,可以去layui开源模块化前端ui框架上看看

Html网页给templates,Static文件夹里的内容(css、img、js、plugins)给Static,注意是内容,不是把Static文件夹直接给Static,因为Static再套Static会使静态端口配置不对。

现在就可以启动文件了,找到类(项目名+application.Java),启动文件。(怎么启动前边已经说了,不会往前翻)

启动后,在控制台右边会有一个红色的正方形图标,说明项目正在运行中,就是他跑起来了,你可以用它,这个网站正在运行中

打开浏览器

输入域名或者IP(因为你要访问的项目在你自己的电脑上运行,所以你要输入你的电脑的IP地址或者域名:127.0.0.1或者localhost)

(Localhost只能访问自己电脑,假域名,本机域名)

(域名只有一个,你不可能用淘宝的域名去访问京东)

域名完了要有端口号(8080)(为什么访问百度不输入端口号:所以不输入端口号的地址,端口号默认为80)

完整的输入就是:localhost:8080    (即:【域名:端口号】的形式)

敲回车

网页中出现模板(注意配置的Static,templates不同,模板也会不同)

注意:

1.要保持项目处于运行状态,项目不跑,将无法访问网址

比如说你访问淘宝,你访问的网页都是阿里巴巴找了一台服务器,他把开发的网站放在服务器上运行起来你才能用

所以当服务器太小,人太多就会出现服务器崩溃状况,无法访问网页

所以一个项目跑起来总得有一个应用服务器,把你开发的项目给他,此次项目中用到的就是tomcat,tomcat就是一个应用服务器,他负责把你开发的网站跑起来

2.项目处于运行状态时,再run as一边会报错:因为已经有一个tomcat占用了8080这个端口,不能重复占用,所以必须要先把项目停掉,使项目处于中止状态才能run as

回到模板上

模板左边为菜单,比如你点开学生信息,在右边空白处就要出现学生的页面,(当然现在还没写,慢慢来),这些菜单最终要存进数据库中,有几个菜单数据库里存几个菜单,每一个人登录进来之后,他可能看不见这些菜单,根据他的角色做判断,什么角色显示什么样的菜单,这就是权限管理

点击左边菜单内容,浏览器就要发送请求,跟你的tomcat去要他想要展示的网页,发送的请求地址:src/main/resources—>static—>index.js(主页的js文件)

打开这个js文件

以系统用户菜单为例:

最底下有一个var navs=一个值,这是创建了一个变量叫navs,它的值就是菜单,每一个大括号表示一个菜单,一个中括号[ ]就是一个集合,将内容拖至最后,最后一个大括号就是你的内个系统用户菜单,菜单里

title:属性、属性值、菜单名

Icon:图标

Spread:默认是否展开

Children:子菜单

Href:链接地址,请求地址,就是你点这个系统用户的时候,我发送的请求地址是什么,这地方就写什么,你写的不一样,返回的就不一样,你要A页面我就返回A页面,你要B页面,我就返B页面

那么如何建立网页?

新建页面:

src/main/resources—>templates—>右键new—>file—>输入文件名***.html(假如新建一个a.html)

打开新建的文件

输入你要展示的页面内容(比如:this is a page)

那么你创建的网站上就会有你创建的这个页面了

浏览器怎么发请求告诉你,他想要哪一个页面?

就是通过你输入的域名:比如说我想要this is a page这个页面,那就需要把域名改为localhost:8080/a

这是应该返回this is a page这个页面,但是没有返回,因为服务器不知道发送这个/a是想要页面,所以你的服务器应该有一个人去接受一下这个请求,就比如说你去肯德基点餐,你说你想要一个汉堡,那个服务员就得给你一个汉堡,但如果你说你想要一个自行车,他不会给你自行车,因为他不卖,他接受了请求之后,他不理解。

如何让他理解?

在后台Java代码里,去造一个服务员专门来服务这个东西

在src/main/Java里你创建的包(com.aaa.rabc)里,在创建一个子包,专门装服务员,可能有很多服务员,一个不够,所以要建一个文件夹

在当前包右键——>new——>other——>搜索package,选中package——>next——>name:自己起(com.aaa.rabc.controller)【注意子文件夹是靠’.’来识别的,】

(调整文件夹的样子:

Package explorer的右上角有三个竖着排列的点,点开它,点击package presentation——>hierarchical

新建的controller文件夹上右键——>new——>other——>class——>name(自己起名:比如:acontroller),这个服务员就建好了

一个服务员就是一个Java的类class

打开新建的类

Java里,这个服务员可以干什么事儿,干一件事就写一个方法,干一件事就写一个方法,这是Java面向对象要求的,方法就是这个类,这个对象的行为

现在我们要求让他可以打开this is a page这个页面:

package com.aaa.rabc.controller;

import org.springframework.stereotype.Controller;//导包:使其具备使用@GetMapping这个方法的条件
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;



@Controller//使acontroller成为一个服务员
@RequestMapping(value="/")//请求根目录。controller有很多,需要清楚什么情况下我这个controller才负责接受
public class acontroller {//acontroller这个服务员,能做打开a页面这件事
	
	@GetMapping(value="/a")//@GetMapping:注解,用于描述方法,注解有很多种
	//发送一个get请求,请求为"/a"的时候,就会执行openAPage这个方法
	public String openAPage(){   //这是一个方法,方法名叫openAPage,public表示公共方法,String是方法的返回值
	    return "a";}//返回一个字符串,返回"a",他就把a页面打开了

}
//@RequestMapping里的"/",请求根目录,一发"/a",然后就会进到/a的方法,就会返回一个"a",返回的是个字符串"a"
//当返回是个"a"的时候,他就会拿着"a"这个字符串去templates,去找a.html
//你返b,他就去找b.html;你返123,他就去找123.html
//你返啥,他就找啥

如何导包:

将鼠标放在@*****上,第一行import****的代码就是,直接点就行

启动项目,(如果之前已经启动了就不用启动了),在浏览器输入localhost:8080/a

就会看到页面上显示你输入的内容,比如我这个是this is a page

再建立一个用户controller,建立过程详见上述

为什么建立这么多服务员,因为每一个服务员都负责不同的事物

一个服务员其实也可以干所有的事,但是一旦出问题很难寻找

package com.aaa.rabc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping(value="/user")//"/user"作为招呼这个服务员的标识
public class user {
	//这个方法用于打开用户主界面
	@GetMapping(value="/index")
	public String openPage() {
		return "user";
	}
	
	//这个方法用于查询用户列表数据
	@GetMapping(value="/list")
	public String selectuser() {
		return "userlist";
	}

}

由我建立的用户controller可知,需要对index.js中的href进行修改,修改为:

"href":"user/index"

新建一个脚本user.js(借助layui)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值