该框架是用Spring MVC 3.0实现,首先定义一个Action类,然后把init()方法给封装,然后在把?以后的所有数据全部封装到Map集合,实现方法如下:
/* *Action 请求参数封装,不区分get和post请求 *zhouguohui */ public class Action { private HttpServletRequest request; private HttpServletResponse response; private ActionValues values; //参数封装到Map集合里面 private MultipartFile[] files; //多个文件上传的路径地址 /** * 初始化Action * @param request * @param response * @param model * @param fils */ @ModelAttribute public void init(HttpServletRequest request,HttpServletResponse response,@RequestParam(required=false) MultipartFile[] fils,Model model){ this.request=request; this.response=response; this.values=new ActionValues(request); if(null!=fils&&fils.length>0){ this.files=fils; } model.addAttribute("values", values); response.setContentType("text/html;charset=UTF-8"); } /** * 输出字符串 * @param msg */ protected void print(Object msg){ PrintWriter out=null; try{ out=response.getWriter(); out.print(msg); }catch(Exception e){ e.printStackTrace(); }finally{ out.close(); } } /** * 以Json格式输出参数 * @param obj */ protected void printJSON(Object obj){ PrintWriter out=null; try{ out=response.getWriter(); out.print(JsonUtils.toJsonStr(obj)); }catch(Exception e){ e.printStackTrace(); }finally{ out.close(); } } /** * 以keyName为键名,以obj为键值,返回Json对象 * @param keyName * @param obj */ protected void printJSON(String keyName,Object obj){ PrintWriter out=null; try{ out=response.getWriter(); out.print(JsonUtils.toJsonStr(keyName, obj)); }catch(Exception e){ e.printStackTrace(); }finally{ out.close(); } } public HttpServletRequest getRequest() { return request; } public HttpServletResponse getResponse() { return response; } /** * 得到前台参数对象 * @param page * @return */ public ActionValues getValues() { return values; } /** * 得到前台参数对象 * @param page * @return */ public ActionValues getValues(boolean page) { if(!page){ values.offPage(); } return values; } /** * 得到上传文件 * @return */ public MultipartFile[] getFiles() { return files; }
相关推荐
通过JAVA反射技术对HttpServlet进行简单封装,类似于struts框架,页面请求过来的参数名只需要与Action<T> T这个Bean里的变量对应即可,getForm()就是获得页面传过来的参数[注:当前这个只能传T里的string和int/...
JAVA WEB框架,java网站一个模块只用写一个文件 以前的servlet在现在的开发中已经不怎么常见,因为操作起来比较原始和麻烦。有些人就是不安于现状去改造它。 做得好的有Struts,Hybernate,Spring那么这些框架都是很...
开发一个Action请求的响应: 前置条件:该Action涉及的Entity及EntityName.hbm.xml已经准备好。 步骤: a. 前端页面触发Action的请求; 统一采用全路径请求,URL格式: 1> basePath/web/moduleName/*_ *.action {1}...
接收客户端请求的Action: 添加短信Action----------->AddInfoAction.java 获取短信Action----------->GetInfoAction.java 同步联系人Action--------->AddContactAction.java 上传文件Action----------->...
Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,...
Struts1只是在第一次请求的时候创建一个action实例,以后每次相同的请求都直接从内存中去读取,它是单例模式,安全性较差。 Struts2是如何实现MVC模式的? 答:在Struts2里面是将每次页面的请求进行处理,然后将请求...
ActionServlet把请求交给action去处理之前,会将请求参数封装成一个formbean对象(就是一个java类,这个类中的每个属性对应一个请求参数),封装成一个什么样的formbean对象呢?看配置文件。 3.要说明的是, ...
在Struts中,用户的请求一般以*.do作为请求服务名,所有的请求均被指向ActionServlet,ActionServlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的ActionForm,并将此ActionForm传至指定的...
接收客户端请求的Action: 添加短信Action----------->AddInfoAction.java 获取短信Action----------->GetInfoAction.java 同步联系人Action--------->AddContactAction.java 上传文件Action----------->...
用 Java 编写的、协议和平台都独立的服务器端组件,使用请求/响应的模式,提供了一个基于 Java 的服务器解决方案。本文将从文件传输的基本原理入手,分析如何用 java进行文件的上传,并提出解决方案。 一、基本...
用户请求url,/items/queryItems.action 3.被PermissionsAuthorizationFilter拦截,发现需要“item:query”权限 4.PermissionsAuthorizationFilter 调用realm中的doGetAuthorizationInfo获取数据库中正确的...
Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,...
针对上述这种情况,如果将所有同种类型的请求参数封装到一个数组中,后台就可以进行绑定接收了。 13.3.1 绑定数组 创建一个用户信息列表页面; 在处理器类中编写批量删除用户的方法; 启动项目,访问...
该系统是基于Struts2+Hibernate开发的一个论坛系统,其中,Hibernate主要负责数据底层封装处理,Struts2在Action中调用DAO相应的方法实现业务处理。系统采用B/S模式,用java语言结合mysql数据库技术进行开发。系统...
This article introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology. Struts can help you control change in your Web project and promote ...
用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传至指定名称的ActionBean,...
web层(action):包含JSP和Servlet等与web相关的内容,负责与浏览器的响应和请求; 业务层(service):只关心业务逻辑; 数据层(dao):封装了对数据库的访问细节,数据操作类; 关系:web层依赖业务层 ...
Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生成动态的网页,返回给客户。...
对于基于Struts框架的Web应用程序,当客户端浏览器发出请求时,请求会被控制器 截获,并调用在Web应用启动时就加载并初始化核心控制器组件ActionServlet,然后通 过ActionServlet从Struts- config.xml文件中读取...
网上书城项目答辩 主要技术 ...开发环境:Eclipse,MySQL 5.7... form method = " post " action = " RegisterServlet " onsubmit = " return checkRegister() " > 用 户 名: < dd>< input class = " inp