springmvc學習(idea版)
springmvc學習(idea創建一個springmvc項目)
環境準備步驟如下
一,先創建一個空的maven父工程,并且去掉src包,此時是一個干凈的項目
二,建好后刪除src包
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6LH54lNb-1591324669846)(C:\Users\18035\AppData\Roaming\Typora\typora-user-images\image-20200602193123785.png)
三,給pom.xml文件導入依賴(此依賴包含servlet,junit,stl,還有springmvc)
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
</dependencies>
四,創建子項目(此子項目也是和父項目一樣,只勾選maven,不用勾選別的)
五,給子項目添加框架支持
六,成功后界面
由于之前父項目導過依賴,所以會自動被子項目繼承,以后的子項目都不用再導入這些依賴
創建一個hello world程序
首先配置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/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
servlet名字
<servlet-name>hellospringmvc</servlet-name>
固定的springmvc包
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--注冊配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
服務器加載順序為第一
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hellospringmvc</servlet-name>
/只匹配所有請求,不會匹配所有jsp頁面
/*匹配所有請求,包括jsp頁面
區別
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
在resource文件下創建一個springmvc-servlet.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--可有可無,這兩個是為了讓人懂得原理去掉也可以-->
<!--配置Handlermapping映射器-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" id="BeanNameUrlHandlerMapping"></bean>
<!--配置適配器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" id="SimpleControllerHandlerAdapter"></bean>
<!--配置視圖解析器DispatcherServlet給他的ModleView-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!--handler,這個作用是轉發到某個具體的controller類,給controller注冊-->
<bean id="/hellospringmvc" class="com.lxz.controller.HelloController"></bean>
</beans>
這樣配置是根據其原理來配的,真實開發不會這么繁瑣,會省略很多東西
原理圖如下:(實線是系統幫實現的,虛線自己做的,按照標號的順序來)
DIspatcherServlet(分發)---->Handler(處理轉發信息)------>handlerAdapter(適配器,選擇哪個controller)------->controller-------->viewresolver(視圖處理器)----->.jsp
創建一個controller類
public class HelloController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
ModelAndView mc = new ModelAndView();
mc.addObject("msg","HelloController");
mc.setViewName("hello");
return mc;
}
}
接受頁面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
${msg}
</body>
</html>
這算是一個復雜的形式,還有更加簡單的形式,就是用注解,接下來會用注解開發
智能推薦
SpringMVC教程IDEA版-3天-2018黑馬SSM-03-筆記
https://www.bilibili.com/video/av47953244 10.請求參數綁定 自定義類型轉換器 16.獲取Servlet原生的API 17.RequestParam注解: 18.RequestBody注解: body代表你提交的整個內容 19.PathVariable注解: 21.RequestHeader 23.ModelAttribute注解...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...
猜你喜歡
Linux C系統編程-線程互斥鎖(四)
互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...
統計學習方法 - 樸素貝葉斯
引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...
styled-components —— React 中的 CSS 最佳實踐
https://zhuanlan.zhihu.com/p/29344146 Styled-components 是目前 React 樣式方案中最受關注的一種,它既具備了 css-in-js 的模塊化與參數化優點,又完全使用CSS的書寫習慣,不會引起額外的學習成本。本文是 styled-components 作者之一 Max Stoiber 所寫,首先總結了前端組件化樣式中的最佳實踐原則,然后在此基...