一、请求转发 dispatcher
1、配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="jump" namespace="/" extends="struts-default">
<action name="Demo01Action" class="com.lanou3g.jump.Demo01Action" method="execute">
<result name="success" type="dispatcher">/jump.jsp</result>
</action>
</package>
</struts>
2.Demo01Action
public class Demo01Action extends ActionSupport{
//通过Demo01Action请求转发到 jump.jsp
@Override
public String execute() throws Exception {
System.out.println("Demo01Action!");
return "success";
}
}
3.jump.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
明天继续
</body>
</html>
二、请求重定向 redirect
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="jump" namespace="/" extends="struts-default">
<action name="Demo02Action" class="com.lanou3g.jump.Demo02Action" method="execute">
<result name="success" type="redirect">/jump.jsp</result>
</action>
</package>
</struts>
2.public class Demo02Action extends ActionSupport{
//通过Demo01Action请求转发到 jump.jsp
@Override
public String execute() throws Exception {
System.out.println("Demo02Action!");
return "success";
}
}
三、请求重定向到Demo01Action redirectAction
<action name="Demo03Action" class="com.lanou3g.jump.Demo03Action" method="execute">
<result name="success" type="redirectAction">
<param name="actionName">Demo01Action</param>
<param name="namespace">/</param>
</result>
</action>
public class Demo03Action extends ActionSupport{
//通过Demo03Action 请求重定向 Demo01Action
@Override
public String execute() throws Exception {
System.out.println("Demo03Action!");
return "success";
}
}
四、请求转发到Demo01Action
<action name="Demo04Action" class="com.lanou3g.jump.Demo04Action" method="execute">
<result name="success" type="chain">
<param name="actionName">Demo01Action</param>
<param name="namespace">/</param>
</result>
</action>
public class Demo04Action extends ActionSupport{
//通过Demo04Action 请求重定向 Demo01Action
@Override
public String execute() throws Exception {
System.out.println("Demo04Action!");
return "success";
}
}
五、获取ServletAPI
方式一:
public class Demo05Action extends ActionSupport{
@Override
public String execute() throws Exception {
Map<String, Object> requestScope = (Map<String, Object>)ActionContext.getContext().get("request");
requestScope.put("name", "dp");
Map<String, Object> sessionScope = ActionContext.getContext().getSession();
sessionScope.put("name", "wl");
Map<String, Object> applicationScope = ActionContext.getContext().getApplication();
applicationScope.put("name", "fj");
return "success";
}
}
struts:
<action name="Demo05Action" class="com.lanou3g.servletapi.Demo05Action" method="execute">
<result name="success" type="dispatcher">/scope.jsp</result>
</action>
jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
requestScope:${requestScope.name }<br>
sessionScope:${sessionScope.name }<br>
applicationScope:${applicationScope.name }
</body>
</html>
方式二:
public class Demo06Action extends ActionSupport{
@Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
ServletContext servletContext = ServletActionContext.getServletContext();
HttpSession session = request.getSession();
return "success";
}
}
获取方式三:ServletRequestAware---接口
通过是吸纳接口的方式,来获取,servlet原生对象
public class Demo07Action extends ActionSupport implements ServletRequestAware{
public Demo07Action() {
System.out.println("Demo07创建了");
}
private HttpServletRequest request;
@Override
public String execute() throws Exception {
this.request.setAttribute("name", "jiekou");
return "success";
}
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
}
六、驱动获取提交参数-三种
实体类
package com.lanou3g.bean;
import java.util.Date;
public class User {
private String username;
private Integer age;
private Date birthday;
public User() {
super();
}
public User(String username, Integer age, Date birthday) {
super();
this.username = username;
this.age = age;
this.birthday = birthday;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
@Override
public String toString() {
return "User [username=" + username + ", age=" + age + ", birthday=" + birthday + "]";
}
}
public class Demo08Action extends ActionSupport {
private String username;
private Integer age;
private Date birthday;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
@Override
public String execute() throws Exception {
System.out.println(username);
System.out.println(age);
System.out.println(birthday);
return "success";
}
}
public class Demo09Action extends ActionSupport {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public String execute() throws Exception {
System.out.println(user.getUsername());
System.out.println(user.getAge());
System.out.println(user.getBirthday());
return "success";
}
}
public class Demo10Action extends ActionSupport implements ModelDriven<User>{
private User user = new User();
@Override
public String execute() throws Exception {
System.out.println(user);
return "success";
}
@Override
public User getModel() {
return user;
}
}
public class Demo11Action extends ActionSupport {
private List<String> list;
private Map<String, String> map;
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
@Override
public String execute() throws Exception {
System.out.println(list);
System.out.println(map);
return "success";
}
}