您的位置:首页 > 编程语言 > Java开发

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

2018-03-16 17:26 302 查看

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>
注意:
1:package必须写,作用是用于管理一组业务功能相关的action
2:package中必须指定name属性,属性值随意写,但必须唯一。
3:package的命名空间,即它的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中的action的class属性值保持一致。
2:实现RequestAware并重写。
3:方法add应与struts.xml中的action的method属性值保持一致
4:实例对象,并提供get set 方法
5:req.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/项目名/页面名
 
 
 
 
 
 
 
 
 
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: