平常筆記

1.在SpringBoot項目中,classpath有兩個目錄,template和static。這兩個目錄有什麼區別呢?css


1.template文件夾用於存放的文件,好比a.thml這個文件不能被直接訪問,好比localhost/a.html這樣是訪問不了的。只能讓視圖解析器返回視圖名「a」,而後才能夠訪問到。html

@RequestMapping({"/a"})
    public String hello(){
        return "a";
    }

這樣即可以經過localhost/a來訪問到template目錄下的a.html頁面了。前端

template文件夾通常用於存放網頁界面html文件。java

2.static文件夾用於存放boostrap,jquery庫文件,css,js文件,靜態html文件。static文件夾下的文件能夠直接訪問,如localhost/a.html能夠直接訪問static文件夾下的a.html文件。可是視圖解析器,返回的視圖不能解析到這個目錄下。按照前面的那個控制器,若是a.html只放在static目錄下,那麼localhost/a將是404.jquery

2.網頁設計模式spring

模板引擎咱們通常會選擇thymeleaf或者jsp,這兩種模板引擎均可以製做母版。sql

抽取界面公共部分數據庫

咱們能夠將一些公共的部分抽取出來,網頁的頭部,底部,抽取出來作成模板(header.html, footer.html, leftbar.html, rightbar.html),其餘文件能夠直接引入。bootstrap

將導入庫文件的代碼放入目模板中後端

網頁開發,咱們通常會使用boostrap,jquery等框架,每一個html文件裏面都去引入這些庫,太過於麻煩。咱們能夠將導入庫文件的這些代碼放入header.html, footer.html, leftbar.html, rightbar.html這些模板界面中。其餘界面凡是引入了模板界面的均可以再也不從新引入,直接使用bootstrap,jquery等框架。

3. 表單能夠不寫提交路徑,這樣表單默認的提交路徑就是當前界面的uri

4. 關於初始化數據庫數據

方法有兩個。1. springboot項目中,能夠在classpath目錄下建立一個import.sql文件,這個文件中的sql會自動執行。2. 啓動項目時調用dao層進行插入數據。

5.關於ngix
ngix是一款很是優秀的反向代理服務器。配置ngix的技巧:全部的server只監聽80端口,根據訪問時使用的域名不一樣,代理到不一樣的服務器(ip+端口),將不一樣域名對應到不一樣的ip和端口。還能夠用於負載均衡。
配置案例:

server {
listen 80;
server_name http://www.shun.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}

server {
listen 80;
server_name  http://api.shun.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://127.0.0.1:9001;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}

upstream tomcat-travel{
       server 192.168.177.129:8080;
       server 192.168.177.129:8081;
       server 192.168.177.129:8082;
}
server {
listen 80;
server_name  http://www.hehe.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://tomcat-travel;;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}

6.軟件開發方式:
1.先定義好api文檔,先後端人員根據api文檔開發,而後整合,先後端項目一塊兒運行,便可。
2.前端已經寫好了,後臺根據前臺調用關係開發。
3.後臺已經開發好了,前臺根據後臺api開發。

7.寫代碼
代碼裏面能夠不寫註釋。可是方法,類上面必定要寫javadoc註釋,說明這個方法或者類的做用,功能。

8.關於默認值
1.springmvc中@RequstParam註解,給參數設置默認值@RequstParam(value="...", defaultValue="...")。用defaultVale時,就算是int類型,值也要寫成字符串,如:@RequstParam(value="num", defaultValue="3") Integer num。
2.可是有的數據不方便設置默認值,然而客戶端可能不傳該參數,能夠設置required屬性@RequstParam(value="...", required="false")

9.# {}與${}的區別

相關文章
相關標籤/搜索