前言:今天讲解新知识SSH框架的Struts的初步使用
码字不易,点个赞
转载请说明!
开发工具:eclipse
目录
maven项目的结构
一、配置struts
1.相关jar依赖
2、web.xml配置
3、框架配置文件配置(三个)
二、动态方法调用
第二种方法
三、传参
1、Modeldrier接口传参
2、set方法传参
3、通过对象属性传参
运行结果
四、Struts与Tomcat的集成
方法:实现接口
运行结果
maven项目的结构
src
main
java 写代码的地方
resources 放配置的地方
wabapp 放页面的地方
test
java 写测试代码的地方
resources 放测试代码对应配置的地方
一、配置struts
1.相关jar依赖
org.apache.struts
struts2-core
2.5.13
javax.servlet
javax.servlet-api
4.0.1
provided
2、web.xml配置
Archetype Created Web Application
struts
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
struts
*.action
3、框架配置文件配置(三个)
org.apache.struts struts2-core2.5.13 javax.servlet javax.servlet-api4.0.1 provided
2、web.xml配置
Archetype Created Web Application
struts
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
struts
*.action
3、框架配置文件配置(三个)
struts-base.xml
regex:.*
struts.xml
struts-sy.xml 里面做配置
/bookEdit.jsp
二、动态方法调用
在struts-sy.xml 里面做配置
/bookEdit.jsp
Demo1Action
package com.hpw.one.web; import javax.servlet.ServletRequest; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import com.hpw.one.entity.User; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class Demo1Action extends ActionSupport implements ModelDriven{ public String add() throws Exception { System.out.println("add方法..."); return "bookEdit"; } public String del() throws Exception { System.out.println("del方法..."); return "bookEdit"; } public String edit() throws Exception { System.out.println("edit方法..."); return "bookEdit"; } public User getModel() { return user1; } }
demo1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
struts的动态方法调用
新增
修改
删除
第二种方法
在struts-sy.xml 里面做配置
/{2}.jsp
demo1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
struts的动态方法调用
删除
三、传参
1、Modeldrier接口传参
2、set方法传参
3、通过对象属性传参
package com.hpw.one.web;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import com.hpw.one.entity.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class Demo1Action extends ActionSupport implements ModelDriven,ServletRequestAware,ServletResponseAware{
private HttpServletRequest req;
private HttpServletResponse resp;
private User user1 = new User();
private String sex;
private User user2;
public User getUser1() {
return user1;
}
public void setUser1(User user1) {
this.user1 = user1;
}
public User getUser2() {
return user2;
}
public void setUser2(User user2) {
this.user2 = user2;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String add() throws Exception {
System.out.println("add方法...");
return "bookEdit";
}
public String del() throws Exception {
System.out.println("del方法...");
return "bookEdit";
}
public String edit() throws Exception {
System.out.println("edit方法...");
return "bookEdit";
}
public String list() throws Exception {
System.out.println("list方法...");
System.out.println(user1);
System.out.println(user2);
System.out.println(sex);
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("age", 12);
req.setAttribute("hobby", "ccc");
return "bookEdit";
}
public User getModel() {
return user1;
}
@Override
public void setServletResponse(HttpServletResponse arg0) {
this.resp = arg0;
}
@Override
public void setServletRequest(HttpServletRequest arg0) {
this.req = arg0;
}
}
2、set方法传参
3、通过对象属性传参
package com.hpw.one.web;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import com.hpw.one.entity.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class Demo1Action extends ActionSupport implements ModelDriven,ServletRequestAware,ServletResponseAware{
private HttpServletRequest req;
private HttpServletResponse resp;
private User user1 = new User();
private String sex;
private User user2;
public User getUser1() {
return user1;
}
public void setUser1(User user1) {
this.user1 = user1;
}
public User getUser2() {
return user2;
}
public void setUser2(User user2) {
this.user2 = user2;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String add() throws Exception {
System.out.println("add方法...");
return "bookEdit";
}
public String del() throws Exception {
System.out.println("del方法...");
return "bookEdit";
}
public String edit() throws Exception {
System.out.println("edit方法...");
return "bookEdit";
}
public String list() throws Exception {
System.out.println("list方法...");
System.out.println(user1);
System.out.println(user2);
System.out.println(sex);
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("age", 12);
req.setAttribute("hobby", "ccc");
return "bookEdit";
}
public User getModel() {
return user1;
}
@Override
public void setServletResponse(HttpServletResponse arg0) {
this.resp = arg0;
}
@Override
public void setServletRequest(HttpServletRequest arg0) {
this.req = arg0;
}
}
package com.hpw.one.web; import javax.servlet.ServletRequest; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import com.hpw.one.entity.User; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class Demo1Action extends ActionSupport implements ModelDriven,ServletRequestAware,ServletResponseAware{ private HttpServletRequest req; private HttpServletResponse resp; private User user1 = new User(); private String sex; private User user2; public User getUser1() { return user1; } public void setUser1(User user1) { this.user1 = user1; } public User getUser2() { return user2; } public void setUser2(User user2) { this.user2 = user2; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String add() throws Exception { System.out.println("add方法..."); return "bookEdit"; } public String del() throws Exception { System.out.println("del方法..."); return "bookEdit"; } public String edit() throws Exception { System.out.println("edit方法..."); return "bookEdit"; } public String list() throws Exception { System.out.println("list方法..."); System.out.println(user1); System.out.println(user2); System.out.println(sex); HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("age", 12); req.setAttribute("hobby", "ccc"); return "bookEdit"; } public User getModel() { return user1; } @Override public void setServletResponse(HttpServletResponse arg0) { this.resp = arg0; } @Override public void setServletRequest(HttpServletRequest arg0) { this.req = arg0; } }
运行结果
Modeldrier接口传参
set方法传参
通过对象属性传参
四、Struts与Tomcat的集成
方法:实现接口
① Demo1Action 继承ActionSupport 实现ModelDriven
②重写ServletRequestAware,ServletResponseAware方法
package com.hpw.one.web; import javax.servlet.ServletRequest; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import com.hpw.one.entity.User; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class Demo1Action extends ActionSupport implements ModelDriven,ServletRequestAware,ServletResponseAware{ private HttpServletRequest req; private HttpServletResponse resp; private User user1 = new User(); private String sex; private User user2; public User getUser1() { return user1; } public void setUser1(User user1) { this.user1 = user1; } public User getUser2() { return user2; } public void setUser2(User user2) { this.user2 = user2; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String list() throws Exception { System.out.println("list方法..."); System.out.println(user1); System.out.println(user2); System.out.println(sex); HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("age", 12); req.setAttribute("hobby", "ccc"); return "bookEdit"; } public User getModel() { return user1; } @Override public void setServletResponse(HttpServletResponse arg0) { this.resp = arg0; } @Override public void setServletRequest(HttpServletRequest arg0) { this.req = arg0; } }
bookEdit.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
成功界面----------------
${age }
${hobby }
运行结果
到这里就结束了,欢迎大佬指点



