Struts2 基础

Struts2 基础

标签: JAVA框架


1.表现层 Struts2 代替Servlet

原理:经过过滤器代替Servlet

2.Servlet和过滤器对比

Servlet:
void init(ServletConfig arg0)//初始化
void service(ServletRequeest arg0)//服务
void destroy()//销毁
Filter
void init(FilterConfig filterConfig)
void doFilter(ServletRequest request,ServletResponse
void destroy()

MVC开发模型中Servlet作为控制器

二 strusts2 是基于MVC开发的一个框架,它属于表现层框架

三 如何搭建Struts2开发环境

1.在src目录下,创建配置文件名为struts.xml
    <?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>
</struts>
2.在WEB-INF中配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <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>
4 验证
部署到tomcat中,启动,如果没有报错,配置成功

四、Struts2案例

1.发送请求给框架
    <a href="${pageContext.request.contextPath}/hello.action">点我,看到显示信息 </a><br>
2.修改struts.xml配置文件
    <package name="p1" extends="struts-default">
    <action name="hello" class="com.cd.action.HelloWorldAction" method="sayHello">//method为调用方法
         <result name="success">/success.jsp</result>
         <result name="error">/index.jsp</result>
    </action>
    </package>
3.编写动作类和方法(返回值为String的方法)
    <result name="success">/success.jsp</result>
    <result name="error">/index.jsp</result>
4.编写 显示的jsp页面

五、struts2的配置文件每次加载都是按照以下顺序,若配置相同的一个属性,则最后配置的起作用

1.default.properties:(jar包)org.apache.struts2(只能看)
这里面配置了struts2的启动和设置
2 struts-default.xml:struts2-core-2.3.34.jar中(只能看)
3.struts.xml:在src文件夹下 自己定义的,推荐使用修改
4. struts.properties:在src文件夹下(不推荐使用)
5.web.xml:配置过滤器时,指定参数不推荐
六、package元素(相当于java中的包)
属性:
    name 必须的,配置文件要唯一
    extends 指定父包 会把父包中的配置内容继承下来,一般需要直接或者间接的继承一个叫做"struts-default"的包
    abstract 是否是抽象包 如果是,该包不能有action子元素
    namespace 指定名称空间 一般以/开头;该包下的动作访问路径就为namespace+动作名称

七:action 元素 定义一个动作

属性:
name 必须的,动作名称  用于用户发起请求,在包中要唯一
class 指定动作类的全名
method 指定动作类的动作方法

八:动作类 三种方式

1.定义普通的类和方法
2.实现Action接口,主要使用Action里面的常量
3.继承ActionSupport(推荐)
提供了一下基本的功能,比如验证和国际化消息提示

动作方法
public String XXX(){

}

九 通配符

<!--  
<action name="*User" class="com.cd.action.UserAction" method="{1}User">
 <result name="success">/success.jsp</result>
     <result name="error">/index.jsp</result>
</action>
-->
<action name="*_*" class="com.cd.action.{2}Action" method="{1}{2}" >
<result name="success">/{1}success.jsp</result>
     <result name="error">/index.jsp</result>
</action>

十、动作类中获取ServletAPI

通过org.apache.struts2.ServletActionContext类里面的
    getRequest和getResponse获取请求和响应对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值