如何让struts2和servlet的共存】的更多相关文章

如何让struts2和servlet的共存 (2013-08-29 14:07:49) 转载▼ 标签: servlet与struts2共存 同时配置struts2与ser servlet访问不到 分类: Struts2   一.问题的提出   先让我们看下web.xml中struts2和servlet的配置:    <!-- struts2拦截页面请求的配置 -->   <filter>        <filter-name>struts2</filter-na…
struts2,servlet和springmvc的单例多例问题 原创 2017年06月12日 09:59:21 标签: struts2 / servlet / springmvc / 单例 / 多例 1637 struts2中action是多例的,即一个session产生一个action 如果是单例的话,若出现两个用户都修改一个对象的属性值,则会因为用户修改时间不同,两个用户访问得到的 属性不一样,操作得出的结果不一样.举个例子:有一块布长度300cm,能做一件上衣(用掉100cm)和一件裤子…
启动后访问jsp 输入姓名密码: 提交后跳转打action 打印: 修改类: 配置同上 结果同上. 实现这俩接口 就得到了 以上代码附上: struts.xml: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" &quo…
Struts2的起源与背景 在很长的一段时间内,在所有的MVC框架中,Struts1处于绝对的统治地位,无论是从市场的普及范围,还是具体的使用者数量. 其他MVC框架都无 法与其相比,作为一一款优秀的MVC框架.虽然Struts1可以很好地实现将控制与业务逻辑相分离, 但是其自身也存在一定的缺陷,这些缺陷体 现在以下几方面. 1.表现层支持单 Struts1框架只支持JSP作为其表现层使用,而很多的Java应用,在表现层技术选择时并不一定只使用JSP-种技术,如FreeMarker. Veloc…
http://blog.csdn.net/yerenyuan_pku/article/details/67315598 Struts2访问Servlet的API 前面已经对Struts2的流程已经执行完成了,但是如果表单中有参数,那如何进行接收又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习Struts2访问Servlet的API来实现这样的功能. 在Struts2中,Action并没有直接和Servlet API进行耦合,也就是说在Struts2的Action中不能直接访问S…
知识点: servlet是单例的,Action是多例的,一次请求,创建一个Action的实例 结果页面分为全局和局部两类(局部优先级更高) result标签:name : 默认succestype :页面跳转类型 dispatcher 默认值,请求转发(action转发jsp) redirect 重定向(action重定向jsp) chain 转发(action转发action) redirectAction 重定向(action重定向action) stream struts2中提供文件下载的…
Struts2访问Servlet的API方式三:接口注入 通过实现ServletRequestAware, ServletContextAware 接口,拿到Request.ServletContext域对象,完成相应的功能.还可以实现ServletContextAware拿到Response对象等. 相对于前两种方式,较为繁琐. 注: Action是多例的,Servlet是单例的,在Action中提供如下所述成员变量不会出现线程安全问题(可以在Action类中设置一个构造方法,每当Action…
Struts2访问Servlet的API方式二:原生方式 和解耦合的方式不同,原生方式既可以拿到域对象,也可以调用域对象中的方法 前端jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transit…
注意: 完全解耦合的方式,这种方式只能获得代表request.session.application的数据的Map集合. 不能操作这些对象的本身的方法. 1 jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML…
我之前用Servlet写过二维码扫描登录,结果把它整合到ssh框架中,发现Servlet和Struts存在共存问题,这是因为当我们在页面在请求应用时,struts2将会截获所有请求,对于servlet请求将不能够正常响应的.然而最有效的解决办法是: <constant name="struts.action.extension" value="action" /> <constant name="struts.action.exclude…
由于struts2默认的是拦截全部的请求 由配置文件能够看出 <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-n…
在struts2框架中,可以通过IoC方式将servlet对象注入到Action中,通常需要Action实现以下接口: a. ServletRequestAware: 实现该接口的Action可以直接访问Request对象,该接口中提供void setServletRequest(HttpServletRequest request) 方法,实现此接口的Action控制类通过setServletRequestHttpServlet(HttpServlet request)方法将request对象…
在同一个项目中间,如果既用到servlet有用了struts2的框架,运行项目时可能无法正常使用servlet,原因是在配置struts2的核心控制器时<url-pattern>/*</url-pattern>所致,需要定义一个过滤器,将servlet过滤,使struts2的核心控制器对servlet不起作用.注意:在xml文件中定义的servlet过滤器要写在struts2核心控制器前面,否则还是不能使用.举例来说,定义的过滤器文件是ReDispatcherFilter.java…
搭建环境: 引入jar包,src下建立struts.xml文件 项目配置文件web.xml. web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:sc…
当接受表单参数,向页面保持数据时.要用到Struts访问Servlet 的API .下面只做参考,有错误或不同意见可以发送邮箱2440867831@qq.com  .建议大家看struts文档,源代码 1.struts2通过ActionContext访问 com.opensymphony.xwork2.ActionContext;类有很多方法这里只列举几个常用的方法: 列举个小例子 Struts2的核心配置web.xml 就不做说明了  .前面已经操作过: Struts.xml <?xml ve…
servlet API通过ActionContext进行获取 Struts2对HttpServletRequest,HttpSession和ServletContext进行了封装,构造了3个Map对象替代以上以上3个对象.在Action中可以直接使用HttpServletRequest,HttpServletSession,ServletContext对应的Map对象来保存和读取对象. ActionContext是Action执行的上下文,在ActionContext保存了Action,执行所需…
在struts2.0中,可以通过ServletActionContext.getRequest()获取request对象. 在action的方法中return一个字符串,该字符串对应struts.xml中的result标签的name相同,result标签中包含的就是跳转页面, 其原理,我的理解是这样的: 一.客户端提起一个(HttpServletRequest)请求,如上文在浏览器中输入”http://localhost:8080/TestMvc/add.action” 二.请求被提交到一系列(…
为了避免与 Servlet API 耦合在一起, 方便 Action 做单元测试, Struts2 对 HttpServletRequest, HttpSession 和 ServletContext 进行了封装, 构造了 3 个 Map 对象来替代这 3 个对象, 在 Action 中可以直接使用 HttpServletRequest, HttpSession, ServletContext 对应的 Map 对象来保存和读取数据.这里大家注意,struts1是没有提供与Servlet的API解…
有时我们需要用到Request, Response, Session,Page, ServletContext这些我们以前常用的对象,那么在Struts2中怎么样使用到这些对象呢,通常有三种方式. *** 完全解耦合的方式 *** 使用ServletActionContext中静态方法直接访问Servlet的API *** 使用接口注入的方式 一.完全解耦合的方式 如果使用该种方式,Struts2框架中提供了一个类,ActionContext类,该类中提供一些方法,通过方法获取Servlet的A…
struts2提供了三种方式访问servlet API:大致分为两类 1. ActionContext:  public static ActionContext getContext() :获得当前Action的ActionContext实例.  public Object get(Object key) :此方法类似于调用HttpServletRequest的getAttribute(String name)方法.  public void put(Object key, Object va…
一.类型转换器 1.在动作类action中,声明和表单中name属性的值同名的属性,提供get和set方法,struts2就可以通过反射机制,从页面中获取对应的内容 package com.kdyzm.convert; import com.opensymphony.xwork2.ActionSupport; public class TypeConvertAction extends ActionSupport{ private static final long serialVersionU…
•       直接访问 Servlet API 将使 Action 与 Servlet 环境耦合在一起,  测试时需要有 Servlet 容器, 不便于对 Action 的单元测试. •       直接获取 HttpServletRequest 对象: –      ServletActionContext.getRequest() •       直接获取 HttpSession 对象 –      ServletActionContext.getRequest().getSession(…
JavaWeb_(SSH)使用Servlet实现用户的登陆 传送门 JavaWeb_(SSH)使用Struts框架实现用户的登陆 传送门 MySQL数据库中存在Gary用户,密码为123:第一次登陆时输入错误的密码1234后页面重定向,并输出错误的提示信息,第二次登陆时输入正确的密码,页面跳转到index.jsp中  启动: servlet 无 struts 配置filter     创建 servlet 继承HttpServlet,实现doget,dopost, 添加注解,或者配置web.xm…
Servlet是单例的,Action是多例的. 多个程序访问Servlet只会创建一个Servlet对象,多个程序访问Action会创建对应的多个Action对象. 跳转页面可以获取对象的属性,说明使用的是转发而不是重定向…
1.创建数据库脚本userinfo.sql prompt PL/SQL Developer import file prompt Created on 2016年5月19日 by pc set feedback off set define off create table USERINFO ( id NUMBER not null, uname ), password ), age NUMBER ) ; alter table USERINFO add primary key (ID); in…
转载 原文链接:https://blog.csdn.net/u013358115/article/details/20706607 问题 项目要求struts2和servlet能够共存,就是struts的请求发给struts处理,servlet的请求发给servlet处理.目前web.xml文件应该是类似于如下的配置: <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.s…
转自:http://www.cnblogs.com/nayitian/archive/2013/03/04/2942537.html 问题 项目要求struts2和servlet能够共存,就是struts的请求发给struts处理,servlet的请求发给servlet处理.目前web.xml文件应该是类似于如下的配置: 实验了修改constant变量让action只针对拦截的指定后缀进行处理,使得servlet可以正常使用,亲测有效.其他需要时候试试. <filter> <filter…
结果跳转方式 转发 <!-- 转发 --> <action name="Demo1Action" class="cn.itheima.a_result.Demo1Action" method="execute" > <result name="success" type="dispatcher" >/hello.jsp</result> </action…
准备 为后面测试示例编写代码及配置如下: package com.zze.bean; import java.util.Date; public class User { private String name; private Integer age; private Date birthday; public String getName() { return name; } public void setName(String name) { this.name = name; } pub…