1. ssm框架下 html頁面向控制器傳值中文亂碼問題
既然項目設置的是utf-8,編碼就全部設置為utf-8啊,jsp頁面的也要設置為utf-8編碼。
這樣試試:
equest.setCharacterEncoding("utf-8");
String strChineseString = request.getParameter("addr");
System.out.println("strChineseString :"+strChineseString );
strChineseString =new String(strChineseString.getBytes("iso-8859-1"),"utf-8");
System.out.println("strChineseString :"+strChineseString );
2. SpringMVC
一、SpringMVC應用
1.springmvc是一個表現層的框架
經典三層架構:表現層, service層, 層。
Spring MVC和Struts2一樣,都是 為了解決表現層問題 的web框架,它們都是基於 MVC 設計模
式的。而這些表現層框架的主要職責就是處理前端HTTP請求。
Spring MVC 本質可以認為是對servlet的封裝,簡化了我們serlvet的開發
2.工作流程:
開發過程:
請求處理流程:
九大組件:
3.請求參數綁定,說白了SpringMVC是如何接受參數的:
原生servlet接大渣哪梁含收一個整型參數:
SpringMVC框架對Servlet的封裝,簡化了servlet的很多操作,SpringMVC框架對Servlet的封裝,簡化了servlet的很多操作
參數綁定:取出參數值綁定到handler⽅法的形參上
默認支持 Servlet API 作為方法參數:
綁定簡單類型參數:
綁定Pojo類型參數:
綁定Pojo包裝對象參數:
綁定日期類型參數(需要配置自定義類型轉換器):
4.Restful風格
什麼是Restful:
什麼是rest:
Restful的優點:
Restful的特性:
Restful的示例:
SpringMVC如何支持Restful風格的請求:
5.Ajax Json交互
交互:兩個方向
什麼是Json:
@ResponseBody註解:
分析SpringMVC使用Json交互:
二、SpringMVC高級技術
1.攔截器(Inteceptor)使用
監聽器、過濾器、攔截器的對比:
攔截器的執行流程:
多個攔截器的執行流程:
自定義SpringMVC攔截器:
2.處理multipart形式的數據
文件上傳:
3.在控制器中處理異常:
4.基於Flash屬性的跨重定向請求數據傳遞:
三、手寫SpringMVC框架:
四、SpringMVC源碼剖析
1.前端控制器 DispatcherServlet 繼承結構:
2.重要時機點分析
SpringMVC處理請求的流程即為:
3.核心步驟滾碼getHandler方法剖析:
4.核心步驟getHandlerAdapter方法剖析:
5.核心步驟ha.handle方法剖析:
6.核心步驟processDispatchResult方法剖析:
7.SpringMVC九大組件初始化:
五、SSM整合
1.整合策略:先整合Spring + Mybatis,然後再整合SpringMVC
2.Mybatis整合Spring
3.整合SpringMVC
未完待補充完整。。。
3. java框架有哪些常用框架
十大常用框架:
一、SpringMVC
二、Spring
三、Mybatis
四、Dubbo
五、Maven
六、RabbitMQ
七、Log4j
八、Ehcache
九、Redis
十、
4. ssm框架畢業答辯常見問題有哪些, 例如ssm如何實現資料庫的連接
一、Spring常見問題
1、Spring 在ssm中起什麼作用?
Spring:輕量級框架
作用:Bean工廠,用來管理Bean的生命周期和框架集成。
兩大核心:
IOC/DI(控制反轉/依賴注入) :把依賴注入到service層,service層反轉給action層,Spring頂層容器為BeanFactory
AOP:面向切面編程
2、Spring的事務?
編程式事務管理:編程方式管理事務,極大靈活性,難維護。
聲明式事務管理:可以將業務代碼和事務管理分離,用註解和xml配置來管理事務。
3、IOC 在項目中的作用?
作用:Ioc解決對象之間的依賴問題,把所有Bean的依賴關系通過配置文件或註解關聯起來,降低了耦合度。
4、Spring的配置文件中的內容?
開啟事務註解驅動
事務管理器
開啟註解功能,並配置掃描包
配置資料庫
配置SQL會話工廠,別名,映射文件
不用編寫Dao層的實現類
5、Spring下的註解?
注冊
@Controller @Service @Component
注入
@Autowired @Resource
請求地址
@RequestMapping
返回具體數據類型而非跳轉
@ResponseBody
6、Spring DI 的三種方式?
構造器注入:通過構造方法初始化
<constructor-arg index="0" type="java.lang.String" value="寶馬"></constructor-arg>
setter方法注入:通過setter方法初始化
<property name="id" value="1111"></property>
介面注入
7、Spring主要使用了什麼模式?
工廠模式:每個Bean的創建通過方法
單例模式:默認的每個Bean的作用域都是單例
代理模式:關於Aop的實現通過代理模式
8、IOC,AOP的實現原理?
IOC:通過反射機制生成對象注入
AOP:動態代理
二、SpringMvc常見問題
1、SpringMvc 的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?
問題:單例模式,在多線程訪問時有線程安全問題
解決方法:不要用同步,在控制器裡面不能寫欄位
2、SpringMvc 中控制器的註解?
@Controller:該註解表明該類扮演控制器的角色
3、@RequestMapping 註解用在類上的作用?
作用:用來映射一個URL到一個類或者一個特定的處理方法上
4、前台多個參數,這些參數都是一個對象,快速得到對象?
方法:直接在方法中聲明這個對象,SpringMvc就自動把屬性賦值到這個對象裡面
5、SpringMvc中函數的返回值?
String,ModelAndView,List,Set 等
一般String,Ajax請求,返回一個List集合
6、SpringMvc中的轉發和重定向?
轉發: return:"hello"
重定向 :return:"redirect:hello.jsp"
7、SpringMvc和Ajax之間的相互調用?
通過JackSon框架把java裡面對象直接轉換成js可識別的json對象,具體步驟如下:
1、加入JackSon.jar
2、在配置文件中配置json的映射
3、在接受Ajax方法裡面直接返回Object,list等,方法前面需要加上註解@ResponseBody
8、SpringMvc的工作流程圖?
原理:
通過SqlSessionFactoryBuilder從mybatis-config.xml配置文件中構建出SqlSessionFactory。
SqlSessionFactory開啟一個SqlSession,通過SqlSession實例獲得Mapper對象並且運行Mapper映射的Sql語句。
完成資料庫的CRUD操作和事務提交,關閉SqlSession。