javascript
Spring servlet
1、修改pom.xml文件,添加以下內容:
代碼:
<dependency><groupId>javax.servlet</groupId>??????<artifactId>jstl</artifactId>???</dependency>????<dependency>??????<groupId>org.apache.tomcat.embed</groupId>?????<artifactId>tomcat-embed-jasper</artifactId></dependency>
2、更新maven項目
3、編寫servlet項目(繼承HTTPServlet)
4、添加servlet啟動類注解
5、以上步驟完成之后,就可以通過URL方式傳遞參數到java類中了。
6、Java參數傳遞到JSP中,在application.properties中添加JSP存放路徑。
代碼:
spring.mvc.view.prefix=/WEB-INF/jsp/spring.mvc.view.suffix=.jsp
7、創建路徑,編寫userlist.jsp
8、創建contorl類
代碼:
package com.yxk.demo_01.demoyxk_01;//import com.practice.pojo.user.*;import java.util.ArrayList;import java.util.List;??import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import? org.springframework.web.bind.annotation.RequestMapping;import com.practice.pojo.user.User;???/**?? * Hello world!? *? */@Controller?public class UserContorller?{?? ???@RequestMapping("/showuser")????public String showUser(Model mode){?????List<User> list = new ArrayList<User>();?????list.add(new User(1,"張三",20,"man"));?????list.add(new User(2,"李四",21,"man"));?????list.add(new User(3,"王五",22,"man"));list.add(new User(4,"張揚",30,"woman"));list.add(new User(5,"傻屌",33,"Trueman"));//注入Model對象??????mode.addAttribute("list",list);//跳轉視圖?????return "userlist";?????} }
9、創建User實體類 右鍵source(get and set),和構造函數;
代碼:
package com.practice.pojo.user;public class User {private Integer userId;private String userName;private Integer userAge;private String userSex;public User(Integer userId, String userName, Integer userAge,String userSex) {super();this.userId = userId;this.userName = userName;this.userAge = userAge;this.userSex =userSex;}public User() {super();// TODO Auto-generated constructor stub}public Integer getUserId() {return userId;}public void setUserId(Integer userId) {this.userId = userId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public Integer getUserAge() {return userAge;}public void setUserAge(Integer userAge) {this.userAge = userAge;}public String getUserSex() {return userSex;}public void setUserSex(String userSex) {this.userSex = userSex;}}
10、創建jsp頁面,名稱必須與contor類里面return的字符串一致;
代碼:
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="ISO-8859-1"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body style="background-image: url('images/earth.jpg');"><table border="1" align="center" width="60%"><tr><th>ID</th><th>name</th><th>age</th><th>sex</th></tr><c:forEach items="${list }" var="user"><tr><td> ${user.userId}</td><td> ${user.userName}</td><td> ${user.userAge}</td><td> ${user.userSex}</td></tr></c:forEach></table></body></html>
11、完成以上步驟后就可以給JSP傳值了;
?
?
知識點一:Spring框架
Spring的初衷:
1、JAVA EE開發應該更加簡單。
2、使用接口而不是使用類,是更好的編程習慣。Spring將使用接口的復雜度幾乎降低到了零。
3、為JavaBean提供了一個更好的應用配置框架。
4、更多地強調面向對象的設計,而不是現行的技術如JAVA EE。
5、盡量減少不必要的異常捕捉。
6、使應用程序更加容易測試。
Spring的目標:
1、可以令人方便愉快的使用Spring。
2、應用程序代碼并不依賴于Spring APIs。
3、Spring不和現有的解決方案競爭,而是致力于將它們融合在一起。
Spring的基本組成:
1、最完善的輕量級核心框架。
2、通用的事務管理抽象層。
3、JDBC抽象層。
4、集成了Toplink, Hibernate, JDO, and iBATIS SQL Maps。
5、AOP功能。
6、靈活的MVC Web應用框架。
知識點二:IOC和DI
IOC(inversion of control)?控制反轉
DI (Dependency Injection)?依賴注入
要理解這兩個概念,首先要搞清楚以下幾個問題:
- 參與者都有誰?
- 依賴:誰依賴于誰?為什么需要依賴??
- 注入:誰注入于誰?到底注入什么?
- 控制反轉:誰控制誰?控制什么?為何叫反轉(有反轉就應該有正轉了)?
- 依賴注入和控制反轉是同一概念嗎?
(1)參與者都有誰:
??一般有三方參與者,一個是某個對象;一個是IoC/DI的容器;另一個是某個對象的外部資源。
??又要名詞解釋一下,某個對象指的就是任意的、普通的Java對象; IoC/DI的容器簡單點說就是指用來實現IoC/DI功能的一個框架程序;對象的外部資源指的就是對象需要的,但是是從對象外部獲取的,都統稱資源,比如:對象需要的其它對象、或者是對象需要的文件資源等等。
(2)誰依賴于誰:
??當然是某個對象依賴于IoC/DI的容器
(3)為什么需要依賴:
??對象需要IoC/DI的容器來提供對象需要的外部資源
(4)誰注入于誰:
??很明顯是IoC/DI的容器 注入 某個對象
(5)到底注入什么:
??就是注入某個對象所需要的外部資源
(6)誰控制誰:
??當然是IoC/DI的容器來控制對象了
(7)控制什么:
??主要是控制對象實例的創建
(8)為何叫反轉:
??反轉是相對于正向而言的,那么什么算是正向的呢?考慮一下常規情況下的應用程序,如果要在A里面使用C,你會怎么做呢?當然是直接去創建C的對象,也就是說,是在A類中主動去獲取所需要的外部資源C,這種情況被稱為正向的。那么什么是反向呢?就是A類不再主動去獲取C,而是被動等待,等待IoC/DI的容器獲取一個C的實例,然后反向的注入到A類中
總結
以上是生活随笔為你收集整理的Spring servlet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring的基础应用
- 下一篇: Spring Boot与Redis的集成