① 基於sprig boot構建web前端頁面採用什麼技術實現
spring-boot適合開發web應用的靜態資源訪問在我們開發Web應用的時候,需要引用大量的js、css、圖片等靜態資源。默認配置SpringBoot默認提供靜態資源目錄位置需置於classpath下,目錄名需符合如下規則:/static/public/resources/META-INF/resources舉例:我們可以在src/main/resources/目錄下創建static,在該位置放置一個圖片文件。啟動程序後,嘗試訪問頁面的時候,要如何實現呢?模板引擎在動態HTML實現上SpringBoot依然可以完美勝任,並且提供了多種模板引擎的默認配置支持,所以在推薦的模板引擎下,我們可以很快的上手開發動態網站。SpringBoot提供了默認配置的模板引擎主要有以下幾種:建議使用這些模板引擎,避免使用JSP,若一定要使用JSP將無法實現SpringBoot的多種特性,具體可見後文:支持JSP的配置當你使用上述模板引擎中的任何一個,它們默認的模板配置路徑為:src/main/resources/templates。當然也可以修改這個路徑,具體如何修改,可在後續各模板引擎的配置屬性中查詢並修改。ThymeleafThymeleaf是一個XML/XHTML/HTML5模板引擎,可用於Web與非Web環境中的應用開發。它是一個開源的java庫,基於ApacheLicense2.0許可,由DanielFernández創建,該作者還是Java加密庫Jasypt的作者。Thymeleaf提供了一個用於整合SpringMVC的可選模塊,在應用開發中,你可以使用Thymeleaf來完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目標在唯沒於提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式,因此也可以用作靜態建模。你可以使用它創建經過指談納驗證的XML與HTML模板。相對於編寫邏輯或代碼,開發者只需將標簽屬性添加到模板中即可。接下來,這些標簽屬性就會在DOM(文檔對象模型侍納)上執行預先制定好的邏輯。
② 如何給後端程序設計前端頁面
後端伺服器一般是指servlet容器,用於執行java源程序納納檔
常見的網頁有html,htm,shtml,asp,aspx,php,jsp等格式
前兩個常洞亂用於靜態網頁,後面幾個常用於動態網頁。
這里前端網頁以比較常見的 xx.html 和 xx.jsp 網頁作為介紹,其它類似
一、靜態頁面xx.html如何跟後台交互:
先來看一個最簡單的登陸界面源代碼
user: password: <input type="submit" value="Submit"/>
</form>12
這是一個表單,我們看到裡面都是純html內容,這是一個靜態頁面,當我們點擊submit按鈕時候,瀏覽器會提交表單內的數據到伺服器的loginServlet這個相對地址,我們看看瀏覽器的地址變成啥了:
這不就是我們的後台servlet的地址嘛,然後這個地址指茄備向的是loginServlet這個servlet,然後在web.xml文件中找到這個servlet關聯的java類,從而執行了伺服器端的程序(第一次執行,那麼會實例化,然後執行裡面init()函數,然後執行service()函數,如果是第二次調用,那麼不用實例化了,直接執行service()函數),我們來看看伺服器端的源程序:
package com.atguigu.javaweb;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class loginServlet extends MyGeneriServlet {
public void init(javax.servlet.ServletConfig config) throws ServletException{
super.init(config);
}
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
//獲取請求方式是GET,POST方式?
HttpServletRequest httpServletRequest=(HttpServletRequest) request;
String method=httpServletRequest.getMethod();
System.out.println(method);
//1.獲取請求參數:username,password
String username=request.getParameter(「username」);
String password=request.getParameter(「password」);
//獲取請求參數
String initUser=getServletContext().getInitParameter(「user」);
String initpassword=getServletContext().getInitParameter(「password」);
PrintWriter out=response.getWriter();
//3.對比
if(initUser.equals(username)&&initpassword.equals(password)){
out.print("Hello"+username); // 生成html內容
}else{
out.print("Sorry"+username); // 生成html內容
}
}12345678
}
上面沒有判斷此時對servlet的請求是post還是get方法,不過沒關系,request這個傳進來的參數以及包含了這些信息,自己判斷一下執行相應的操作即可
由於頁面路徑已經跳轉到servlet了,但是servlet不是一個.html文件啊,那豈不是沒有內容供瀏覽器顯示了,不是的,我們看到返回的參數response中的對象PrintWriter out用於動態生成html內容的字元串"Hello",所以這時候相當於servlet這個路徑也有了html內容了,瀏覽器的頁面就會顯示上述字元串了
二、jsp頁面如何跟後端伺服器交互:
jsp網頁文件就是html內容裡面插入java代碼,當我們訪問.jsp網頁文件時候,伺服器提前已經知道這個頁面內含有java代碼,那麼伺服器這邊就得先執行一下這些代碼(就跟執行servlet的java源代碼一樣),同時把執行的結果嵌入在當前這個.jsp頁面內,我們看看源代碼:
<%@page import=「java.util.Date」%> // 如果這個.jsp頁面中用到了一些java函數,就得導入庫,這就跟java源文件一樣的
<% out.println("Hello World!"); // 這里實際上是伺服器執行了結果,然後以文本返回給瀏覽器進行顯示 %>
上面紅色代碼就是java代碼,剛剛說過對象PrintWriter out用於動態生成html內容的字元串,所以伺服器執行完嵌入在裡面的java代碼後,就是動態生成了一串html代碼,然後一起傳給客戶端瀏覽器進行顯示
當然這種情況.jsp裡面沒有按鈕,表單這樣的控制項,現在再來看看有表單這種.jsp如何跟後端交互:
view.jsp
<%@page import=「day03_student.Student」%> // 還是得帶入java用到的庫文件
學生個人基本信息
<% Student s=(Student)request.getAttribute("students"); // %>
編號 學號 姓名 性別 年齡
<%=s.getId()%> <%=s.getStuno()%> <%=s.getName()%> <%=s.getGender()%> <%=s.getAge() %>
參考的原文:https://blog.csdn.net/myclass1312/article/details/80571867
這時候如果我們直接訪問這兒view.jsp文件,應該是沒有數據的,因為對象s無法從request對象獲取,必須得先給這個request對象賦值才行,即應該從如下servlet路徑跳轉來view.jsp文件路徑才行
public class viewservlet extends HttpServlet {
private StudentDao =new StudentDao();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String idstr = request.getParameter("id");
int id = Integer.parseInt(idstr);
//將數據放入request中,傳遞到頁面
Student student=.queryById(id);
request.setAttribute("students", student);
request.getRequestDispatcher("view.jsp").forward(request, response); // 這里是從當前頁面跳轉去哪個頁面,同時傳遞了request, response這兩個參數,這時候的request就是有內容的,接下來的view.jsp頁面就能獲取到內容而且動態生成html內容
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}123456789101112131415
}
總結:每個xx.html文件,xx.jsp文件,servlet響應程序…都是需要在客戶端瀏覽器通過URL來訪問的。
xx.jsp文件,servlet響應程序因為含有java源代碼,需要伺服器電腦先執行一下,.jsp文件中的java代碼一般會動態生成一些html內容嵌入在當前.jsp文件裡面一起給瀏覽器顯示出來;而servlet中的java代碼一般是數據處理功能的,可能會通過request.getRequestDispatcher(「view.jsp」).forward(request, response);
這樣的方式跳轉到其它有html內容的頁面的URL(同時傳遞處理好的數據過去) 來顯示結果
③ html網頁代碼怎麼在前端打開
html網頁前端打開,你這里的前端有點不明確(瀏覽器,網頁編輯工具),用到的測試工具:瀏覽器,notepad++,電腦,打開方式步驟如下:
如果想瀏覽器查看效果,直接雙擊html文件,默認的瀏覽器就可以打開查看效果。例如網路的首頁效果:
④ 如何通過開發者工具條式網頁並找出前端代碼所在的文件(比如html文件或者js文件等)
IE開發者工具 是用來看前端頁面腳本的 html css js之類的。 而且, java是後台語言,在伺服器上運行的,是修改不了的哦。這是java關於安全性的一個特點。 如果你說的那個需要密碼的驗證是用js來實現,就可以繞過,用java寫的話是不可能繞過的。
⑤ 在前端頁面找到該頁面載入使用的js文件
1.找到你所需的頁面,F12打開控制台,可以在source 下面找到載入的文件。
2.如果不行的話,點開network,會有該頁面毀衡的載入的一系列的資源文件。找到js文件或者HTML文件散則打開。然後,點開查看 ,文件中的信息。進行確能是否是自己要找到的頁面。
3.一般前兩中方法就可以找到頁面載入的文件。如果,你還沒找到,還可以,在頁面上找到關鍵的信息,在自己項目使用全局搜索。然後逐一排查出結果。找到到,可以修改一下信息,進行驗證是否找對。比如:修改標簽名。沖余棚
⑥ idea如何啟動前端靜態頁面
重啟idea後,執行npminstall在執行npmrunserve啟則頌動前孫爛鄭端靜態頁面即可。idea全稱IntelliJIDEA,是java編程語言開發的集成環境歷陸。
⑦ 如何實現web前端頁面生成exe可執行文件
1、你已經安裝並配置好了 node.js (全局安裝)
2、你已經用 npm 安裝了 electron (全局安裝)
3、你已經寫好了前端網頁(html、css、javascript 這些,或者基於這些的前端框架寫好的網頁)
4、以上三點看不懂的,趕緊去網路。。。
你如果具備了以上的假設,請繼續往下看:
1、找到你的前端網頁項目文件夾,新建 package.json、main.js、index.html 三個文件(註:其中的 index.html 是你的網頁首頁)
你的項目目錄/
├── package.json ├── main.js └── index.html
2、在 package.json 中添加如下內容
{ "name" : "app-name", "version" : "0.1.0", "main" : "main.js" }
3、在 main.js 中添加下面的內容,這個 main.js 文件就是上面 package.json 中的 "main"鍵 的值,所以可根據需要修改
const {app, BrowserWindow} = require('electron') const path = require('path') const url = require('url') // Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is garbage collected. let win function createWindow () { // Create the browser window. win = new BrowserWindow({width: 800, height: 600}) // and load the index.html of the app. win.loadURL(url.format({ pathname: path.join(__dirname, 'index.html'), protocol: 'file:', slashes: true })) // Open the DevTools. // win.webContents.openDevTools() // Emitted when the window is closed. win.on('closed', () => { // Dereference the window object, usually you would store windows // in an array if your app supports multi windows, this is the time // when you should delete the corresponding element. win = null }) } // This method will be called when Electron has finished // initialization and is ready to create browser windows. // Some APIs can only be used after this event occurs. app.on('ready', createWindow) // Quit when all windows are closed. app.on('window-all-closed', () => { // On macOS it is common for applications and their menu bar // to stay active until the user quits explicitly with Cmd + Q if (process.platform !== 'darwin') { app.quit() } }) app.on('activate', () => { // On macOS it's common to re-create a window in the app when the // dock icon is clicked and there are no other windows open. if (win === null) { createWindow() } }) // In this file you can include the rest of your app's specific main process // code. You can also put them in separate files and require them here.
4、如果你的網頁首頁的文件名不是 「index.html」,那麼請在 main.js 中將其中的 'index.html' 修改為你的網頁首頁名
5、打開 DOS,cd 到你的項目目錄(或直接在你的項目目錄下空白的地方 shift+滑鼠右鍵,然後點擊在此處打開命令窗口,這里看不懂的,唉,網路吧少年)
6、在上一步的 DOS 下,輸入 npm install electron-packager -g全局安裝我們的打包神器
npm install electron-packager -g
7、安裝好打包神器後,還是在上一步的 DOS 下,輸入 electron-packager . app --win --out presenterTool --arch=x64 --version 1.4.14 --overwrite --ignore=node_moles 即可開始打包
electron-packager . app --win --out presenterTool --arch=x64 --version 1.4.14 --overwrite --ignore=node_moles
這個命令什麼意思?藍色部分可自行修改:
electron-packager . 可執行文件的文件名 --win --out 打包成的文件夾名 --arch=x64位還是32位 --version版本號 --overwrite --ignore=node_moles
8、打包成功後,會生成一個新的文件夾,點進去,找到 exe 文件,雙擊就可以看到網頁變成了一個桌面應用啦!
以上是最簡單的打包方式,至於怎麼修改窗口大小、菜單欄怎麼加、怎麼調用系統API這些,就給你慢慢去研究Electron了。