Struts2整理(第一天)struts2 的使用流程

Struts2整理(第一天)

1、struts2 的使用流程

分包如下:


1》导入struts的jar包,

 

2》配置web.xml文件(前端控制器fc),web.xml中加入Struts2MVC框架启动配置( )struts2框架是通过filter启动的;必须写配置文件。

 <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>

3》、配置struts2 文件------在src下新建struts.xml(业务逻辑控制器)。

配置struts.xml:(复制粘贴)

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

 "http://struts.apache.org/dtds/struts-2.3.dtd

">

<struts>

<package name="p2" extends="struts-default">

<action name="add" class="com.zk.action.studentAction" method="add">

<result name="success">/show.jsp</result>

</action>

</package>

</struts>

注意:

1package必须写,作用是用于管理一组业务功能相关的action

2package中必须指定name属性,属性值随意写,但必须唯一。

3package的命名空间,即它的namespace属性;

 

4》写action。在src下新建包com.zk.action,新建studentAction。

public class studentAction implements RequestAware{

private student student;

/**

 * 添加

 */

public String add(){

System.out.println("add");

studentdao sd = new studentdaoimpl();

sd.add(student);

List<student> list= sd.show();

req.put("slist", list);

return "success";

}

public student getStudent() {

return student;

}

public void setStudent(student student) {

this.student = student;

}

@Override

public void setRequest(Map<String, Object> req) {

// TODO Auto-generated method stub

this.req=req;

}

注意:

1:action应与struts.xml中的actionclass属性值保持一致。

2:实现RequestAware并重写。

3:方法add应与struts.xml中的actionmethod属性值保持一致

4:实例对象,并提供get set 方法

5req.put();必须写。作用是传值。转发

6:类中的add()方法返回值必须为String ,方法不能带参数

5》此时,struts2的使用流程基本完成。功能的代码跟以前一样,连接数据库的操作也跟之前servlet的方法相同。所有方法完成后,输入地址测试http://localhost:8080/项目名/页面名

 

2、struts2  action 通配符的使用

(适合于:多个方法执行完毕最终都去一个页面)使用通配符*定义action,可以有效的减小配置文件的规模。

下面用action通配符来写一个学生增删改查的例子

1、导入jar包

2、配置web.xml

3、配置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>

<package name="p2" extends="struts-default">

<action name="studentAction_*" class="com.zk.action.studentAction"

 method="{1}">

<result name="success">/show.jsp</result>

<result name="modify">/modify.jsp</result>

</action>

</package>

</struts>

4、action类中的过程(注意返回值。返回值应与result的name属性值相同)(多个方法执行完毕最终都去一个页面的都用同一个name 属性值)

5、dao和daoimpl

6、页面中action的值应该加上action的全名

 <form action="${pageContext.request.contextPath }/studentAction_modify">

    <input type="hidden" name="student.id" value="${student.id}"><br><br>

    姓名:<input type="text" name="student.name" value="${student.name}"><br><br>

    年龄:<input type="text" name="student.age" value="${student.age }"><br><br>

    爱好:<input type="text" name="student.hobby" value="${student.hobby }"><br><br>

    <input type="submit" value="提交">

</form>

7、完成。输入地址测试http://localhost:8080/项目名/页面名

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值