IDEA創(chuàng)建Maven工程Servlet的詳細(xì)教程
IDEA創(chuàng)建Maven工程servlet
Servlet(Servlet Applet),全稱Java Servlert,用于開發(fā)動態(tài)web資源的技術(shù)。是用Java編寫的服務(wù)器端程序,主要功能在于處理服務(wù)器請求。
Tomcat:由Apache組織提供的一種Web服務(wù)器,提供對jsp和Servlet的支持。它是一種輕量級的javaWeb容器(服務(wù)器),也是當(dāng)前應(yīng)用最廣的JavaWeb服務(wù)器(免費(fèi))。
jsp:(java server page),java提供的一門開發(fā)web網(wǎng)頁的技術(shù)。
web應(yīng)用完全是基于http協(xié)議的,http協(xié)議有請求報(bào)文(request)和響應(yīng)報(bào)文(request),請求報(bào)文是瀏覽器向服務(wù)器發(fā)送的數(shù)據(jù)形成的數(shù)據(jù)對象,響應(yīng)報(bào)文是服務(wù)器向?yàn)g覽器發(fā)送的數(shù)據(jù)形成的信息。servlet能夠讀取請求報(bào)文的內(nèi)容,并對報(bào)文進(jìn)行處理,生成動態(tài)Web內(nèi)容。
一般的網(wǎng)頁程序,就是通過瀏覽器訪問來實(shí)現(xiàn)的,在這個過程中,瀏覽器發(fā)送訪問請求,服務(wù)器接收請求,并對瀏覽器的請求作出相應(yīng)的處理.這就是熟悉的B/S模型(瀏覽器-服務(wù)器模型).而servlet就是對請求作出處理的組件,運(yùn)行于支持Java的應(yīng)用服務(wù)器中。
狹義理解Servlet是java語言實(shí)現(xiàn)的一個類,要根據(jù)這個類進(jìn)行相應(yīng)的擴(kuò)展開發(fā)。
開發(fā)流程如下:
- 編寫一個java類,繼承HttpServlet類
- 重寫HttpServlet類的doGet方法和doPost方法
- 配置web.xml文件,或者使用注解對servlet進(jìn)行配置。servlet的配置指定了哪個servlet響應(yīng)前端的處理請求。
一、使用骨架創(chuàng)建Maven的web工程
二、Servlet目錄結(jié)構(gòu)和代碼
Servlet目錄
MyServlet類代碼如下:
package com.bigdata.servlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * @author bigdata * @create 2020-10-25 16:03 */ public class MyServlet extends HttpServlet { protected void doPods(HttpServletRequest request,HttpServletResponse response) throws javax.servlet.ServletException, IOException { doGet(request,response); } protected void doGet(HttpServletRequest request,HttpServletResponse response) throws javax.servlet.ServletException,java.io.IOException{ request.getRequestDispatcher("/hello.jsp").forward(request,response); } }
三、web.xml設(shè)置
1)web.xml文件配置詳解
MyServlet com.bigdata.servlet.MyServlet MyServlet /first 當(dāng)瀏覽器訪問/first的時候,服務(wù)器自然就會把請求交給MyServlet進(jìn)行處理。
2)Servlet具體配置
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.bigdata.servlet.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
四、jsp代碼
hello.jsp代碼如下:
<%-- Created by IntelliJ IDEA. User: bigdata Date: 2020/10/25 Time: 17:28 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>才開始學(xué)java,要堅(jiān)持到底</title> </head> <body> welcome to learn java,come on ~ </body> </html>
五、pom配置文件
1)獲取項(xiàng)目依賴的jar包
Maven中央倉庫
可以去Maven中央倉庫獲取Servlet依賴的jar包的坐標(biāo)
Servlet完整的pom配置文件如下:
<?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.bigdata</groupId> <artifactId>maven_web</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <!-- 修改maven工程運(yùn)行環(huán)境 --> <!-- 修改tomcat環(huán)境 --> <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8888</port> </configuration> </plugin> <!-- 修改maven-compiler-plugin環(huán)境 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <target>11</target> <source>11</source> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project>
六、運(yùn)行Servlet項(xiàng)目
查看頁面
至此IDEA創(chuàng)建Maven工程Servlet完成
到此這篇關(guān)于IDEA創(chuàng)建Maven工程Servlet的詳細(xì)教程的文章就介紹到這了,更多相關(guān)IDEA創(chuàng)建Maven工程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 如何解決創(chuàng)建maven工程時,產(chǎn)生“找不到插件的錯誤”問題
- IDEA2023創(chuàng)建MavenWeb項(xiàng)目并搭建Servlet工程的全過程
- idea創(chuàng)建maven父子工程導(dǎo)致子工程無法導(dǎo)入父工程依賴
- 使用IDEA創(chuàng)建maven父子工程項(xiàng)目 (圖文)
- idea中創(chuàng)建maven的Javaweb工程并進(jìn)行配置(圖文教程)
- idea中創(chuàng)建多module的maven工程的方法
- idea 創(chuàng)建 maven web 工程流程(圖文教程)
- 詳解eclipse創(chuàng)建maven項(xiàng)目實(shí)現(xiàn)動態(tài)web工程完整示例
- Eclipse中使用Maven創(chuàng)建Java Web工程的實(shí)現(xiàn)方式
- Apache Maven創(chuàng)建工程的實(shí)現(xiàn)示例
相關(guān)文章
Java?數(shù)據(jù)結(jié)構(gòu)與算法系列精講之?dāng)?shù)組
數(shù)組是有序的元素序列,若將有限個類型相同的變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時也稱為下標(biāo)變量。數(shù)組是在程序設(shè)計(jì)中,為了處理方便, 把具有相同類型的若干元素按有序的形式組織起來的一種形式2022-02-02Java中documentHelper解析xml獲取想要的數(shù)據(jù)
本文主要介紹了Java中documentHelper解析xml獲取想要的數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Java將Exception信息轉(zhuǎn)為String字符串的方法
今天小編就為大家分享一篇Java將Exception信息轉(zhuǎn)為String字符串的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10詳解如何將springboot項(xiàng)目導(dǎo)出成war包
這篇文章主要介紹了詳解如何將springboot項(xiàng)目導(dǎo)出成war包,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10如何使用Java 8 中的 Stream 遍歷樹形結(jié)構(gòu)
這篇文章主要介紹了使用Java 8中的Stream遍歷樹形結(jié)構(gòu),我們可以使用Java8中的Stream流一次性把數(shù)據(jù)查出來,然后通過流式處理,我們一起來看看,代碼實(shí)現(xiàn)為了實(shí)現(xiàn)簡單,就模擬查看數(shù)據(jù)庫所有數(shù)據(jù)到List里面,需要的朋友可以參考下2023-08-08JAVA基于PDF box將PDF轉(zhuǎn)為圖片的實(shí)現(xiàn)方法
這篇文章主要介紹了JAVA基于PDF box將PDF轉(zhuǎn)為圖片的操作方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-07-07java通過客戶端訪問服務(wù)器webservice的方法
這篇文章主要介紹了java通過客戶端訪問服務(wù)器webservice的方法,涉及java創(chuàng)建與調(diào)用webservice的相關(guān)技巧,需要的朋友可以參考下2016-08-08Hibernate+JDBC實(shí)現(xiàn)批量插入、更新及刪除的方法詳解
這篇文章主要介紹了Hibernate+JDBC實(shí)現(xiàn)批量插入、更新及刪除的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Hibernate與JDBC針對數(shù)據(jù)庫的批量操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-11-11