日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Javawbe的实战案例

發布時間:2023/12/20 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Javawbe的实战案例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

目錄

文章目錄

一、maven的一些注意事項?

?二、servlet

1.構建一個空maven項目,刪掉src文件,重新導入依賴,建立一個新的module

1.1? 子類

?1.2 父類

?二、子類的web.xml配置最新的版本自帶的有點舊

?2.1 定義一個java類

2.1、編寫servlet映射

2.2 /*IDEA的Tomcat出現亂碼問題解決如下*/?編輯

2.3?

?2.4 Servlet

2.5mapping 問題?

?*.bug問題

Element ‘web-app‘ cannot have character [children], because the type‘s content type is element-only.

2.6? servletcontext對象

2.7讀取資源類

properties

?2.8HttpServletsponse

?2.9? 實現重定向

?3.0 HttpServletRequest (重要)




一、maven的一些注意事項?

1.配置問題?

1.Tomcar閃退

??

2.每次重復配置maven?

?

?3.配置好的pom.xml字段含義

?4.maven下main文件下的改變

5. Tomcat官方例子源代碼

?

?6.導入官方依賴

(1)去官網找到需要的依賴

(2) 放到</dependencies> </dependencies>里,再刷新下

?二、servlet

(1).是sun公司開發的動態web技術

(2).servlet是sun公司下的一個API接口,實現的話只要Java類部署到web中、編寫一個類,實現接口

把實現的servlet的Java程序叫servlet

1.構建一個空maven項目,刪掉src文件,重新導入依賴,建立一個新的module

1.1? 子類

//子類有的的依賴 <parent><artifactId>untitled2-maven1</artifactId><groupId>org.example</groupId><version>1.0-SNAPSHOT</version></parent>

?1.2 父類

<modules><module>selvert01</module></modules>

?二、子類的web.xml配置最新的版本自帶的有點舊

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"metadata-complete="true"> </web-app>

?2.1 定義一個java類

package com.bilibili.servlet;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter;public class selverts extends HttpServlet {//由于get或者post只是請求實現的不同的方式,可以互相調用@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {PrintWriter writer = resp.getWriter();writer.print("hello,,serverr");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);} }

2.1、編寫servlet映射

因為編寫的Java程序是要通過瀏覽器訪問的,而瀏覽器是要連接web服務器,所以需要注冊servlet

給一個訪問路徑。

<servlet><servlet-name>hellotya</servlet-name><servlet-class>com.bilibili.servlet.selverts</servlet-class> </servlet> <!--selvert請求--><servlet-mapping><servlet-name>hellotya</servlet-name><url-pattern>hellotya</url-pattern></servlet-mapping>

2.2 /*IDEA的Tomcat出現亂碼問題解決如下*/

2.3? </注冊名>

?

?2.4 Servlet

2.5mapping 問題?

1.一個servlet可以指定一條映射路徑?

<servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello</url-pattern></servlet-mapping>

2.一個servlet可以指定多條映射路徑

<servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello1</url-pattern></servlet-mapping><servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello2</url-pattern></servlet-mapping>

3.一個servlet可以指定通用映射路徑??

<servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello2/*</url-pattern></servlet-mapping>

4.一個servlet可以指定默認映射路徑(首頁會被擠掉)

<servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/*</url-pattern></servlet-mapping>

5.也可以自定義

<servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/*.do</url-pattern></servlet-mapping>

6.優先級

指定好的映射路徑級別最高,如果沒有舊走默認路徑

<servlet><servlet-name>mxx</servlet-name><servlet-class>com.bilibili.servlet.ErrorServlet</servlet-class></servlet><servlet-mapping><servlet-name>mxx</servlet-name><url-pattern>/mxx</url-pattern></servlet-mapping>

?*.bug問題

Element ‘web-app‘ cannot have character [children], because the type‘s content type is element-only.

看代碼注釋有沒有規定符號

2.6? servletcontext對象

我們可以把ServletContext當成一個公用的空間,可以被所有的客戶訪問,如上圖,A、B、C三個客戶端都可以訪問。WEB容器在啟動時,它會為每個Web應用程序都創建一個對應的ServletContext,它代表當前Web應用,并且它被所有客戶端共享。

2.6.1

servlet1方法

package com.bilibili;import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;public class mxx extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {ServletContext context = this.getServletContext();String usesrname = "元首";context.setAttribute("usernaem",usesrname);//System.out.println("人事如潮人如水,不甚今朝一場醉");}}

?2.6.2?servlet2方法

package com.bilibili;import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;public class getmxx extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {ServletContext context = this.getServletContext();String username = (String)context.getAttribute("username");resp.setContentType("text/html");resp.setCharacterEncoding("utf-8");resp.getWriter().print("名字"+username);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);} }

?3.web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"metadata-complete="true"><servlet><servlet-name>nazi</servlet-name><servlet-class>com.bilibili.mxx</servlet-class></servlet><servlet-mapping><servlet-name>nazi</servlet-name><url-pattern>/*</url-pattern></servlet-mapping><servlet><servlet-name>getb</servlet-name><servlet-class>com.bilibili.getmxx</servlet-class></servlet><servlet-mapping><servlet-name>getb</servlet-name><url-pattern>/getc</url-pattern></servlet-mapping></web-app>

?servlet2方法去取servlet1方法里面的名字,用web.xml編程映射路徑,Tomcat啟動,就行了,

加了一個公交車原理,方法都可以去上他。

2.7讀取資源類

properties

在Java目錄、resource下新建的目錄,都被打包到同一路徑下,這一路徑稱為classpath

獲得db.proprites的表內的內容以及輸出

package com.bilibili;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.util.Properties;public class Serlvetdemo3 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {InputStream is = this.getServletContext().getResourceAsStream("/target/classes/com/bilibili/mxx");Properties pro = new Properties();pro.load(is);String user =pro.getProperty("username");String pwd =pro.getProperty("password");resp.getWriter().print(user+pwd);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {} }

配置web.xml文件?

<servlet><servlet-name>s5</servlet-name><servlet-class>com.bilibili.ServletDemo2</servlet-class></servlet><servlet-mapping><servlet-name>s5</servlet-name><url-pattern>/s5</url-pattern></servlet-mapping><servlet><servlet-name>s6</servlet-name><servlet-class>com.bilibili.Serlvetdemo3</servlet-class></servlet><servlet-mapping><servlet-name>s6</servlet-name><url-pattern>/s6</url-pattern></servlet-mapping>

?2.8HttpServletsponse

HttpServletsponse應用

2.8.1下載文件

設置參數

package Demo;import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.FileInputStream; import java.io.IOException; import java.net.URLEncoder;public class demo1 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 1.獲取下載路徑String resultpath = "E:\\ecn_bews_project\\untitled2-maven1\\response\\src\\main\\resources\\醫智諾.png";System.out.println("下載文件路徑"+resultpath); // 2.下載文件名resultpath.substring(resultpath.lastIndexOf("\\")+1); // 3. 設置瀏覽器支持下載resp.setHeader("Content-disposition","attachment;filename"+ URLEncoder.encode("GBK")); // 4.下載文件的輸入流FileInputStream in = new FileInputStream(resultpath); // 5.創建緩沖區int len = 0;byte[] buffer = new byte[1024]; // 7.獲取OutputStream對象ServletOutputStream out = resp.getOutputStream(); // 8.把FileOutputStream流寫入buffer緩沖區9.使用OutputStream將緩沖區中的數據輸出到客戶端while ((len =in.read(buffer))>0){out.write(buffer,0,len);}in.close();out.close();}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }

配置文件

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"metadata-complete="true"><servlet><servlet-name>file</servlet-name><servlet-class>Demo.demo1</servlet-class></servlet><servlet-mapping><servlet-name>file</servlet-name><url-pattern>/down</url-pattern></servlet-mapping></web-app>

2.8.2 瀏覽器刷新驗證

package Demo;import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.awt.*; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random;public class demo2 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//如何讓瀏覽器刷新五秒鐘每次resp.setHeader("refresh","3");//在內存中創建圖片BufferedImage image = new BufferedImage(80, 80, BufferedImage.TYPE_INT_RGB);//得到圖片Graphics2D p = (Graphics2D) image.getGraphics();//Java的2d畫筆//設置圖片背景顏色p.setColor(Color.blue);p.fillRect(0,0,80,20);//給圖片寫數據p.setColor(Color.pink);p.setFont(new Font(null,Font.BOLD,20));p.drawString(makenum(),0,20);//告訴瀏覽器,這個請求用圖片打開resp.setContentType("image/jpeg");//網站存在緩存,不讓瀏覽器緩存resp.setDateHeader("exprise",-1);resp.setHeader("Cache-Control","no-cache");resp.setHeader("Prama","no-cache");//把圖片寫給瀏覽器ImageIO.write(image,"jpg",resp.getOutputStream());}//生成隨機數private String makenum(){Random num = new Random();String i = num.nextInt(999999)+"";StringBuffer sg = new StringBuffer();for (int j = 0; j <6-i.length() ; j++) {sg.append("0");}String s = sg.toString() + i;return i;}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} } <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"metadata-complete="true"><servlet><servlet-name>image</servlet-name><servlet-class>Demo.demo2</servlet-class></servlet><servlet-mapping><servlet-name>image</servlet-name><url-pattern>/images</url-pattern></servlet-mapping></web-app>

?2.9? 實現重定向

@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.sendRedirect("/re/img"); //重定向}

重定向和轉發的區別

相同:都會跳轉web網頁

不同:重定向的url地址會變, 轉發不會?

重定向案例代碼實現輸入賬號密碼就跳轉到"成功"頁面

web.xml

<servlet><servlet-name>Request</servlet-name><servlet-class>Demo.demo4</servlet-class></servlet><servlet-mapping><servlet-name>Request</servlet-name><url-pattern>/login</url-pattern></servlet-mapping>

?success.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title> </head> <body><h1>haihaihiaa</h1></body> </html>

index.jsp

<html> <body> <h2>Hello World!</h2><%--這里提交的路徑,在尋找項目的路徑--%> <%--${pageContext.request.contextPath}代表當前的項目--%> <form action="${pageContext.request.contextPath}/login" method="get">用戶名:<input type="text" name="username"><br>密碼:<input type="password" name="password"><br><input type="submit"> </form></body> </html>

demo4.java?

package Demo;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;public class demo4 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//處理請求String username = req.getParameter("username");String password = req.getParameter("password");System.out.println(username+";"+password);resp.sendRedirect("/re/success.jsp");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }

?3.0 HttpServletRequest (重要)

?HttpServletRequest代表客戶端的請求,用戶通過http協議訪問服務器,http請求中的所有信息會被封裝到HttpServletRequest,通過HttpServletRequest方法,獲得客戶端所有的響應

?web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"metadata-complete="true"><servlet><servlet-name>loginselvert</servlet-name><servlet-class>ppackage.demo1</servlet-class></servlet><servlet-mapping><servlet-name>loginselvert</servlet-name><url-pattern>/loginsel</url-pattern></servlet-mapping> </web-app>

?demo1.java

package ppackage;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Arrays;public class demo1 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//后臺接收到亂碼問題req接收設置成GBKreq.setCharacterEncoding("UTF-8");resp.setCharacterEncoding("UTF-8");String username = req.getParameter("username");String password = req.getParameter("password");String[] hobbies = req.getParameterValues("hobbies");System.out.println(username);System.out.println(password);System.out.println(Arrays.toString(hobbies));//通過請求轉發System.out.println(req.getContextPath());req.getRequestDispatcher(req.getContextPath()+"/succ.jsp").forward(req,resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }

succ.jsp?

<%--Created by IntelliJ IDEA.User: ecnDate: 2022/8/12Time: 16:31To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title> </head> <body><h1>success</h1></body> </html>

index.jsp?

<%--Created by IntelliJ IDEA.User: ecnDate: 2022/8/12Time: 16:06To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>登錄</title> </head> <body> <h1>登錄</h1> <div style="text-align: center"><%--以post表單提交到loginsel請求--%><form action="${pageContext.request.contextPath}/loginsel" method="post">username:<input type="text"name="username"><br>passoword:<input type="password"name="p"><br>hobby:<input type="checkbox"name="hobbies" value="唱">唱<input type="checkbox"name="hobbies" value="跳">跳<input type="checkbox"name="hobbies" value="rap">rap<input type="checkbox"name="hobbies" value="籃球">籃球<input type="checkbox"name="hobbies" value="說唱">說唱<br><input type="submit"></form> </div></body> </html>

3.1、cookie 和session

3.1.1、會話:用戶打開一個瀏覽器,點擊很多超鏈接,訪問很多web資源,關閉瀏覽器,這個過程稱為會話

cookie:服務端給客戶一個信件,客戶端下次訪問服務端帶上信件就可以,客戶端技術

session:服務器已經登記你的來到,下次來時直接匹配,服務器技術,可以保存信息

3.12 cookie?

//cookie,服務器端從客戶端獲取Cookie[] cookies = req.getCookies();//這里返回數組。說明Cookie有多個存在cookie.getValue()//獲得cookie的valuecookie.getName()//獲得cookie的keynew Cookie("lastloginTime", System.currentTimeMillis()+"");//新建一個cookiecookie.setMaxAge(24*60*60);//設置cookie的有效期resp.addCookie(cookie);//響應給客戶端一個cookieURLEncode.encode("嘻嘻嘻","UTF-8");//編碼URLDecoder.decode(cookie.getValue(),"UTF-8") //解碼 兩個都用于中文亂碼

3.13、session

//得到sessionHttpSession session = req.getSession();demo1s name = (demo1s) session.getAttribute("name");System.out.println(demo1s.toString());}//手動注銷session.invalidate();

web.xml 會話自動配置

<!--設置session默認的失效時間--><session-config><!--1分鐘后session自動失效,以分鐘為單位--><session-timeout>1</session-timeout></session-config>

3.14、JSP?

java Server pages :java服務器端頁面,用于開發動態技術

與HTML的區別:

? ?1.HTML只給用戶通過靜態的數據? 2.jsp可以嵌入Java代碼,為用戶提供動態數據

JSP本質就是一個Selvert類 ,用戶通過網絡上的web容器將jsp頁面轉換為xxx.class文件,所以用戶最后訪問到的是class文件還是一個selvert類。

<%--jsp表達式作用用來將程序輸出到客戶端<%=表達式或變量%>--%><%=new java.util.Date()%><hr><%--jsp腳本片段--%><%int sum =0;for (int i = 0; i < 100; i++) {sum=+i;}out.println(sum);%><%--在代碼中嵌入HTML元素--%><%for (int i = 0; i < 5; i++) {%><h1>大叔大嬸市場撒 <%=i%></h1><%}%>

3.14.1 jsp聲明?

<%!static {System.out.println("localstatcia selvert");}private int gdsa =0;public void kkk(){System.out.println("進入了方法");} %>

?/***/bug

<%--如果圖片不顯示出來就取這樣寫--%> <img src="./img/11.png"alt="500">

3.14.2jsp指令將兩個頁面合二為一?

<%@include file="common/head.jsp"%> <h1>網頁主體</h1> <%@include file="common/foot.jsp"%>

?4.九大內置對象

?

<%pageContext.setAttribute("name1","大廈1"); //保存的數據只在一個頁面有效request.setAttribute("name2","大廈2");//保存的數據只在一次請求有效,請求轉發會攜帶session.setAttribute("name3","大廈3"); //保存的數據在一次會話中有效application.setAttribute("name4","大廈4");//保存的數據只會在服務器有效,從打開服務器到關閉服務器 %><%String name1 = (String) pageContext.findAttribute("name1");String name2 = (String) pageContext.findAttribute("name2");String name3 = (String) pageContext.findAttribute("name3");String name4 = (String) pageContext.findAttribute("name4");%><h1>取出的值:</h1> <h1>${name1}</h1> <h1>${name2}</h1> <h1>${name3}</h1> <h1>${name4}</h1>

?

?4.1 EL 標簽 、jsp標簽 、JSTL標簽

4.1.1 EL標簽 :獲取數據、執行運算、獲取web開發的常用對象

依賴的包

<!--jstl表達式的依賴--><!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl-api --><dependency><groupId>javax.servlet.jsp.jstl</groupId><artifactId>jstl-api</artifactId><version>1.2</version></dependency><!--standard依賴--><!-- https://mvnrepository.com/artifact/taglibs/standard --><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency>

jsp標簽?

<jsp:forward page="/jsptag-EL.jsp"> <jsp:param name="name" value="value11"></jsp:param>> <jsp:param name="age" value="vlaue222"></jsp:param> </jsp:forward>

?4.1.2 jstl表達式

就是用來彌補HTML標簽的不足,可以自定義標簽,并且與java語言相同

核心標簽:

使用前要導入taglib。

在TOmcat中也要導入jstl包,standard的包才能使用,如果沒有導入就會跳轉不到那個頁面

?/** Ctrl + alt +L 對齊代碼

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%--c = core 核心--%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head><title>Title</title> </head> <body> <h4>if測試</h4><hr> <form action="coreif.jsp" method="get"><input type="text" name="username" value="${param.username}"><input type="submit" value="登錄"> </form> <%--判斷提交管理員是否,是的話輸出歡迎--%> <c:if test="${param.username=='adimin'}" var="isAdmin"><c:out value="管理員welcome"/> </c:if> <c:out value="${isAdmin}"/></body> </html>

<c:when>?

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title> </head> <body> <c:set var="score" value="95"/><c:choose><c:when test="${score>=90}">優秀</c:when><c:when test="${score>=85}">良好</c:when><c:when test="${score>=80}">一般</c:when></c:choose></body> </html>

?<c:foreach>?

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import="java.util.ArrayList" %><%--Created by IntelliJ IDEA.User: ecnDate: 2022/8/16Time: 11:17To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title> </head> <body> <%ArrayList<String> objects = new ArrayList<>();objects.add(0, "22成都市");objects.add(1, "23額溫槍所");objects.add(2, "24委屈");objects.add(3, "25大廈");objects.add(4, "22額溫槍");request.setAttribute("list", objects); %> <%-- var:遍歷出來的變量 items,遍歷的對象 begin 哪里開始 end 哪里結束 step 結束 --%> <c:forEach var="objects" items="${list}"><c:out value="${objects}"/><br></c:forEach><hr><c:forEach var="objects" items="${list}" begin="1" end="3" step="2"><c:out value="${objects}"/><br> </c:forEach></body> </html>

?<c:when>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title> </head> <body> <c:set var="score" value="95"/><c:choose><c:when test="${score>=90}">優秀</c:when><c:when test="${score>=85}">良好</c:when><c:when test="${score>=80}">一般</c:when></c:choose></body> </html>

?5、Javabean

用法都和之前的表達式有異曲同工之處所以直接上代碼

?javabean.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Javabean</title> </head> <body><jsp:useBean id="people" class="pojo.people" scope="page"/><jsp:setProperty name="people" property="id" value="18"/> <jsp:setProperty name="people" property="plane" value="腓特烈"/> <jsp:setProperty name="people" property="tanks" value="Z23"/>坦克:<jsp:getProperty name="people" property="tanks"/> 飛機:<jsp:getProperty name="people" property="plane"/> id:<jsp:getProperty name="people" property="id"/></body> </html>

?people。java

package pojo;public class people {//實體類一般與數據庫表一一對應public people(int id, String tanks, String plane) {this.id = id;this.tanks=tanks;this.plane = plane;}private int id;private String tanks;private String plane;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getTanks() {return tanks;}public void setTanks(String tanks) {this.tanks = tanks;}public String getPlane() {return plane;}public void setPlane(String plane) {this.plane = plane;}@Overridepublic String toString() {return "people{" +"id=" + id +", tanks='" + tanks + '\'' +", plane='" + plane + '\'' +'}';} }

?6.MVC

?7.Filter

?

?和Selvert一樣,只是接口不同,多了chain

filter.java

package com.filter;import javax.servlet.*; import java.io.IOException; //初始化 public class filters implements Filter {//執行前@Overridepublic void init(FilterConfig filterConfig) throws ServletException {System.out.println("filter執行前");}//chain/** 1.過濾器中的所有代碼,在過濾特定請求時會執行* 2. 必須讓過濾器繼續同行*/@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {servletRequest.setCharacterEncoding("gbk");servletResponse.setCharacterEncoding("gbk");servletResponse.setContentType("text/html;charset=GBK");System.out.println("filter執行前");filterChain.doFilter(servletRequest,servletResponse);System.out.println("filter執行后");}//銷毀@Overridepublic void destroy() {System.out.println("filter銷毀!");} }

web.xml配置filter

<filter><filter-name>filters</filter-name><filter-class>com.filter.filters</filter-class></filter><filter-mapping><filter-name>filters</filter-name><url-pattern>/filteres/*</url-pattern></filter-mapping> </web-app>

showselvert.java

package servlet;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;public class showselvert extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// resp.setCharacterEncoding("gbk");resp.getWriter().write("你你好");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }

?8.監聽器

package listener;import javax.servlet.ServletContext; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener;//在線人數監聽 public class online implements HttpSessionListener {//創建session監聽//一旦創建session就會觸發這個事件@Overridepublic void sessionCreated(HttpSessionEvent httpSessionEvent) {ServletContext session = httpSessionEvent.getSession().getServletContext();Integer sessionline = (Integer) session.getAttribute("sessionline");if (sessionline==null){sessionline= new Integer(1);}else {int count = sessionline.intValue();sessionline = new Integer(count+1);}session.setAttribute("sessionline",sessionline);}//銷毀session監聽//一旦銷毀session就會觸發這個事件public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {ServletContext session = httpSessionEvent.getSession().getServletContext();Integer sessionline = (Integer) session.getAttribute("sessionline");if (sessionline==null){sessionline= new Integer(0);}else {int count = sessionline.intValue();sessionline = new Integer(count-1);}session.setAttribute("sessionline",sessionline);}} <listener><listener-class>listener.online</listener-class></listener> </web-app>

8.1、GUI?

嵌套兩種顏色Java窗口

package listener;import java.awt.*; import java.awt.event.WindowEvent; import java.awt.event.WindowListener;public class TestCanel {public static void main(String[] args) {Frame frame = new Frame("放假啊啊啊啊啊1");//新建一個窗體Panel panel = new Panel(null);//面板frame.setLayout(null);//設置窗體布局frame.setBounds(300,400,500,500);frame.setBackground(new Color(0,0,225));//設置背景顏色panel.setBounds(50,50,300,300);panel.setBackground(new Color(0,255,0));frame.add(panel);frame.setVisible(true);//監聽事件(關閉)frame.addWindowListener(new WindowListener() {@Overridepublic void windowOpened(WindowEvent e) {System.out.println("打開");}@Overridepublic void windowClosing(WindowEvent e) {System.out.println("關掉");System.exit(0);}@Overridepublic void windowClosed(WindowEvent e) {}@Overridepublic void windowIconified(WindowEvent e) {System.out.println("激活");}@Overridepublic void windowDeiconified(WindowEvent e) {System.out.println("未激活");}@Overridepublic void windowActivated(WindowEvent e) {}@Overridepublic void windowDeactivated(WindowEvent e) {}});} }

?8.2 JDBC?

package bilibili;import java.sql.*;public class TestJdbc {public static void main(String[] args) throws ClassNotFoundException, SQLException {String url ="jdbc:mysql://43.142.160.32:3306/jdbc?useUnicode=true&characterEncoding=GBK";String username = "mxx";//這里設置自己密碼 Class.forName("com.mysql.jdbc.Driver");Connection connection = DriverManager.getConnection(url, username, password);Statement statement = connection.createStatement();String sql ="select * from user";ResultSet rs = statement.executeQuery(sql);while (rs.next()){System.out.println("id"+rs.getObject("id"));System.out.println("name"+rs.getObject("name"));System.out.println("password"+rs.getObject("password"));System.out.println("email"+rs.getObject("email"));System.out.println("birthday"+rs.getObject("birthday"));}rs.close();statement.close();connection.close();} }

?8.2.1 @Test

一種特有的Java包,要導包進來,可以到系統自帶的包 alt +enter?

9.總結

整體來說還是比較知識點分散,在投入項目時也遇到許多問題,繼續前進吧!

總結

以上是生活随笔為你收集整理的Javawbe的实战案例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。