1、cookie和session的區別
2、struts學習筆記
① struts屬性驅動和模型
② action當中指定業務方法的調用
③ 管理處理結果
④ 訪問servletAPI
– 耦合度高 使用的是servlet當中的方法
– 耦合度低 使用的是action當中的方法
⑤ struts2 是在struts1和 webwork的基礎之上研發出來的新的MVC框架。是一個開源框架。
3、配置struts過濾器,進行攔截請求
① 建項目
② 導入jar包(大概10個)
③ 配置struts.xml
<struts>
<package name="hello" namespace="/" extends="struts-default" > <!--默認繼承與struts-defult-->
<action name="hello" class="cc.ccoder.study.HelloWord" method="execute">
<!--action當中的name相當於servlet中的url-patten class當前action處理的是哪一個類 method默認處理的是類中的哪一個方法-->
<result>/index.jsp</result> <!--處理結果-->
</action>
</package>
</struts>
配置struts.xml的時候需要創建一個java類來處理action。並且在<result>當中默認設置爲success
public class HelloWord {
private String msg;
public String getMsg() {
return msg;
}
public String execute(){
msg = "hello world";
return "success";
}
}
④ 配置web.xml
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
在web.xml當中需要配置過濾器,並且設置攔截。在filter-mapping當中設置連接的地址。這是struts自定義的過濾器,是整個struts的屬性驅動
<?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_3_1.xsd";
version="3.1">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
① struts屬性驅動是指在jsp頁面當中name需要在action當中對應。
<action name="userLogin" class="cc.ccoder.study.LoginAction" method="userLogin">
<result name="hehe">/welcome.jsp</result>
</action>
在action當中method對應的是class當中將要進行處理攔截的方法名字。
/welcome.jsp
這裏result的name是上面method進行攔截的方法當中的return中的名稱。如果不寫默認情況下是success。
public String userLogin(){
System.out.println("用戶名:"+username+" 密碼:"+password);
return "hehe";
}
需要注意的是method當中bean命名需要和form表單當中的名稱保持一致。
5、模型驅動
action當中屬性名爲對象(模型)
public class UserAction {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String userLogin(){
System.out.println("用戶名: "+user.getUsername());
System.out.println("密碼 "+user.getPassword());
return "success";
}
}
在struts當中配置的和屬性驅動
<action name="userAction" class="cc.ccoder.study.UserAction" method="userLogin">
<result>/welcome.jsp</result>
</action>
跟屬性驅動不同的是,在form表單當中name屬性需要指明爲action當中的對象的屬性。
如下面代碼所示:name=user.username
<form action="userAction" method="post">
<input name="user.username">
<input name="user.password" type="password">
<input type="submit" value="登錄">
</form>
聰聰的獨立博客
聰聰的獨立博客 ,一個喜歡技術,喜歡鑽研的95後。