首先 是Action
package com.chusiyou.struts.core;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Action extends ActionServlet{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
return mapping.findForward("");
}
}
再就是ActionForm--就是一个类 里面什么都没有,我没有写一些什么验证属性的一些方法,只要完成大体功能就OK
package com.chusiyou.struts.core;
public class ActionForm {
}
管理跳转的一个类,我写的默认是request.getRequestDispatcher(name).forward(request, response)这种跳转方式
package com.chusiyou.struts.core;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ActionForward {
public ActionForward(){
}
public ActionForward(String name,HttpServletRequest request,HttpServletResponse response){
this.tiaozhuan(name,request,response);
}
private void tiaozhuan(String name,HttpServletRequest request,HttpServletResponse response){
try {
request.getRequestDispatcher(name).forward(request, response);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
ActionMapping 类 辅助ActionForward类 把name属性对应的path传递给ActionForward
package com.chusiyou.struts.core;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ActionMapping {
HttpServletRequest request;
HttpServletResponse response;
ActionMappings actionMappings;
public ActionMapping(){}
public ActionMapping(HttpServletRequest request,HttpServletResponse response,ActionMappings actionMappings){
this.request=request;
this.response=response;
this.actionMappings=actionMappings;
}
public ActionForward findForward(String name){
String path=null;
for(String str:actionMappings.getForwards().keySet()){
if(name.equals(str)){
path=actionMappings.getForwards().get(name);
}
}
return new ActionForward(path,request,response);
}
}
管理action 所有配置属性的一个实体类,哎英语太烂,不会起名字 痛苦
package com.chusiyou.struts.core;
import java.util.HashMap;
public class ActionMappings {
private String path;
private String name;
private String type;
private HashMap<String, String> forwards=new HashMap<String, String>();
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public HashMap<String, String> getForwards() {
return forwards;
}
public void setForwards(HashMap<String, String> forwards) {
this.forwards = forwards;
}
}
//最后一个是管理formbean属性的一个实体类
package com.chusiyou.struts.core;
public class FormBeans {
private String name;
private String type;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
最后是 struts-XML配置文件
<struts-config>
<form-beans>
<form-bean name="testrForm" type="com.chusiyou.test.TestForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/test" name="testrForm" type="com.chusiyou.test.TestAction">
<forward name="main" path="/main.jsp"></forward>
<forward name="error" path="/error.jsp"></forward>
</action>
<action path="/user" type="com.chusiyou.test.UserAction">
<forward name="main" path="/main.jsp"></forward>
</action>
</action-mappings>
</struts-config>
//所有源文件下载
我上传
分享到:
相关推荐
这两个框架都是Java Web开发中的关键组件,Struts2负责控制层逻辑,Spring则提供了全面的依赖注入(DI)和面向切面编程(AOP)功能,以及对数据访问层的支持。 1. **Struts2框架**:Struts2是一个开源的MVC框架,...
struts.xml中定义Action和结果,spring-context.xml中配置Bean和依赖,hibernate.cfg.xml中配置数据库连接信息和实体映射。然后,创建Action类,实现用户注册的业务逻辑,并注入DAO或Service。在DAO层,利用...
Struts CRUD 源码分析 Struts 是一个开源的Java Web框架,它为构建基于MVC(模型-视图-控制器)模式的应用程序提供了一种结构化的方法。CRUD,即创建(Create)、读取(Read)、更新(Update)和删除(Delete),是...
在这个项目中,“SSH模拟酷狗官网的源码+数据库”提供了实现酷狗音乐网站功能的全套代码和数据库资源。下面将详细阐述SSH框架以及它在模拟酷狗官网中的应用。 1. Struts2:Struts2 是一个基于MVC(Model-View-...
对于初学者,你可以通过分析源码了解如何在实际项目中配置和使用这些框架,如何在Struts中定义Action,如何在Spring中配置Bean,以及如何利用Hibernate进行数据库操作。同时,这也是理解MVC设计模式和Java企业级开发...
1. **Struts框架**:学习如何使用Struts进行MVC架构的设计,理解Action、Form Bean、JSP和Servlet在Struts框架中的角色,以及如何通过配置struts-config.xml文件来管理应用的各个部分。 2. **Spring框架**:深入...
模拟了当当系统部分功能。 2.功能需求 1)用户管理模块(3天)user 实现登录、注册功能 2)产品浏览模块(2天)main 实现主界面和类别浏览功能 3)购物车模块(1.5天)cart 实现购买、变更数量、删除等功能 4...
网上银行系统是一个基于Struts和Hibernate技术的典型Web应用程序,旨在模拟实际银行的在线服务功能。这个项目提供了学习和理解这两种技术如何协同工作的机会。Struts是Java Web开发中的一个MVC(Model-View-...
在本系统中,Spring管理了整个应用的bean,包括Struts2的Action类和其他业务服务类,通过配置文件或注解实现bean的实例化和依赖关系的自动装配。此外,Spring的AOP功能也被用来处理事务管理,确保数据操作的一致性。...
3. Hibernate的实体类设计和映射配置,以及HQL和Criteria API进行数据库操作。 4. 整合Struts 2和Spring,使用Spring做为Action的容器,提供事务管理。 5. 整合Hibernate和Spring,通过Spring的JdbcTemplate或...
这是一个基于Android平台的O2O(Online To Offline)在线生鲜订购与配送系统的源码,包含了完整的前后端开发组件。系统采用SSH(Spring、Struts2、Hibernate)作为后台管理系统的框架,结合MySQL数据库来存储和处理...
平台还可能包含一些附加功能,如用户注册与登录、个人信息管理、购物车、订单处理、评价系统等,以模拟实际电商平台的运作流程。 SSM框架的运用使得整个系统具有良好的分层结构,提高了代码的可维护性和可扩展性。...
EJB组件包括会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean(Message-Driven Beans),它们分别负责业务逻辑、持久化数据和处理消息传递。 **Struts1.3** 是一个基于MVC(Model-View-...
3. Struts框架:MVC模式的具体实现,Action类,Form Bean,Tiles视图定义,以及Struts配置文件的解析。 4. Hibernate框架:实体类的定义,映射文件(hbm.xml),Session工厂,CRUD操作,HQL(Hibernate Query ...
在实战项目中,Spring管理着Bean的生命周期和依赖注入,同时可以配合Struts实现事务管理,提供数据库连接池,以及实现服务层和DAO层的解耦。 3. **Hibernate框架**:Hibernate是一个对象关系映射(ORM)框架,它...
在整合的框架中,这些功能将通过Struts2处理请求,由Spring管理Bean,使用Hibernate操作数据库。 7. **整合的步骤**:整合这三个框架通常涉及以下几个步骤:配置Spring的上下文,启用注解扫描;配置Struts2,定义...
在这个系统中,Spring可能被用来管理数据库连接、事务控制以及服务层的bean。 3. **Hibernate**:Hibernate是一个强大的ORM(对象关系映射)工具,它简化了Java应用程序与数据库之间的交互。在人事权限管理系统中,...
Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来...
最后,Struts2的Action将接收请求,调用Service层的方法,处理完成后返回结果到指定的JSP页面。 在开发过程中,注意各个组件的版本兼容性,因为SSH框架的整合可能会受到不同版本间兼容性问题的影响。此外,为了调试...