【JAVA】4 Struts

过程:
    web.xml中配置好
    ---》 jsp中form的action"hello"就会被struts拦截处理(struts.xml中有个action来处理hello)

一般调用顺序是jsp-->根据struts.xml找到action/servlet-->dao-->entity

entity/domain(bean):JavaBean(POJO)set,get
service/dao:数据库的增上改查
action/web:控制器,有LoginConroller类,相当于Sevlet

Eclipse 构建路径中Order and Export 如何设置?起什么作用?
    1调用优先级的问题,越在上边调用优先级越高,例如,在同包同类名的情况下,将优先从上到下执行搜索调用;
    2打勾与不打勾的区别在于导出jar包时是否将这个库的内容也打包到jar中,勾为包含,不勾为不含。

Action存:session.setAttribute("键", 对象);		
jsp取:<s:property value="#session.键.对象属性"/>		

<default-action-ref name="用于错误跳转的action"/>

result type=:
type="chain",相当与servlet的请求转发,chain其实只是在一个action执行完毕之后,forward到另外一个action,所以他们之间是共享HttpServletRequest的。

支持<s:>标签

<%@ taglib uri="/struts-tas" prefix="s" %>
//使用: 
<s:property value="#user.name"/>

解决标签自动换行: 标签中加theme="simple"

struts2的核心就是一个web.xml中的<filter>,将HTTP请求转入Struts2框架内
    <action>相当于Servlet(配置代码出现在struts.xml里(structs.xml在项目目录/src下))
(webwork又由xwork而来,所以struts2的文件目录下有xwork的文件夹)

struts2.1.3后的核心控制器(过滤器)变为StrutsPrepareAndExecuteFilter

流程:请求拦截器--》Action处理---》结果对应---》拦截器----》回应

拦截器类 实现拦截器:继承AbstractInterceptor 实现intercept方法
action引用拦截器类:<interceptor-ref name=""/>

struts.xml中可以有多个package,package里面可以有多个action

实现action类:继承ActionSupport

Struts工具类 在Action中获取request等//让Action继承这个类就可以了
package action;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;

public class SuperAction   extends ActionSupport implements ServletRequestAware,ServletResponseAware,ServletContextAware{

	private static final long serialVersionUID = 7727505312022359301L;
	protected HttpServletRequest request;
	protected HttpServletResponse response;
	protected HttpSession session;
	protected ServletContext application;
	@Override
	public void setServletContext(ServletContext application) {
		this.application=application;
	}

	@Override
	public void setServletResponse(HttpServletResponse response) {
		this.response=response;
	}

	@Override
	public void setServletRequest(HttpServletRequest request) {
		this.request=request;
		this.session=this.request.getSession();
	}

}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值