Struts2拦截器到底拦截了什么? 关于struts2中的拦截器,首先再次理解其实只能过滤其中访问的action的映射!再者,因为struts中的action其实就是起到替代servlet作用的,所以在struts2作为全局拦截的时候,servlet即使通过注解或者web.xml配置之后 ,也是不能直接访问的,必须通过Controller拦截器,一层层拦截到作为Model的action进行操作之后,返回对应结果再转发.重定向等方式到servlet中. 我们不允许在注解和web.xml同时对一个…
在Struts2中配置Action <package>: 1.定义Action使用<package>标签下的<action>标签完成,一个<package>下可以有多个<action>. 2.在<package>中有如下几个属性: (1)name:必要属性,该<package>的名字,也是其他<package>引用此<package>时使用的名字. (2)extends:非必要属性,指定被继承的&l…
如何解决action太多的问题??我们因为需要不同的方法,所以往往建立很多不同的类,但是每个类中往往仅仅几行代码,不仅浪费了时间,而且配置起来也很繁琐,所以,建立一个共有的类,然后根据以下方式来操作,从而解决类太多的问题.1.method方式:建立一个Action类,在类中编写不同的方法,在不同的方法中处理不同的请求.  在struts.xml中配置method属性,让不同的action指向同一个Action类的不同方法. 2.感叹号方式: <constant name="struts.e…
源码: 自定义的拦截器类: //自定义拦截器类:LoginInterceptor ; package com.java.action.interceptor; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.inte…
1.当访问的Action不存在时,页面会显示错误信息,可以通过配置默认Action处理用户异常的操作:2.配置方法:    在struts.xml文件中的<package>下添加如下内容:        <default-action-ref name="index"></default-action-ref>    其中index为默认Action的name属性值:3.配置默认Action后,相应的namespace下不存在要访问的Action时,…
第一种 web.xml (截取的需要转换的) 当拦截到 /socke t时执行该servlet <servlet> <servlet-name>websocket</servlet-name> <servlet-class>org.ldd.ssm.hangyu.socket.MyWebSocketServlet</servlet-class> </servlet> <servlet-mapping> <servlet…
1.编写一个类,继承StrutsTypeConverter,实现其中的convertFromString和convertToString方法,该类如下: package me.edu.utils; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Map; import org.apache.struts2.util.S…
hash2int /** * 计算一个字符串的md5折算成int返回 * @param type $str * @return type */ function hash2int($str) { $md5str = md5($str, true); $one = unpack('l', substr($md5str, 0, 4)); $two = unpack('l', substr($md5str, 4, 4)); $three = unpack('l', substr($md5str, 8,…
我们都知道,定义一个常量类是十分简单的.首先差固件一个类,然后类中声明一些public修饰的静态常量.没错就这么简单: 写好之后,在其他地方使用的时候,直接类名.属性名就可以使用了. 而LZ现在想的是能不能换一种方式来写,实际效果是一样的,但逼格会不会高点呢?仁者见仁智者见智啦: 大家会发现,不就是类改成了接口了吗?然后常量的public static final修饰去掉了吗?对,没错就是这样.个人觉得逼格高点,同时也可以反映出开发人员的技术水平.那么我们来看一下为什么会等同.我们将次接口编译之…
va_arg宏,是头文件 stdarg.h 中定义的,获取可变参数的当前参数. #define va_arg(list, mode) ((mode*)(list+=sizeof(mode)))[-1] 这个-1操作,是返回当前指针前一个值.如果你熟悉c++中内存模型就应该明白.array 在内存栈或者堆中是连续的一段空间. 如果我们对一个数组 int a[10]进行a[-1]操作,那么就可能出现错误,因为我们这时候出现了不可控的指针操作,返回的值是不可预料的. 为了能够构造 a[-1]的操作,我…
java 中序列化指从对象转变为 二进制流的过程中需要进行序列化,而反序列化指二进制流转换为java 对象.那么有的时候java 存储到数据库不需要序列化, 而计算机系统本质存储的就是二进制文件,数据库的本质又是什么呢? 一.从硬件说起 核心五部分:运算器.控制器.存储器.输入设备.输出设备 根据冯诺伊曼计算机原理,计算机除了五部分外,存储用于存放指令与数据,运算器完成算数与逻辑运算,外部人员通过输入/输出设备操作计算机,且计算机内部是使用二进制表示指令与数据. 其中指定由操作码和地址吗构成,操…
起因 最近有个小伙伴提出了一个问题,就是在使用.net core的BackgroundService的时候,对应的ExecuteAsync方法里面写如下代码,会使程序一直卡在当前方法,不会继续执行,代码如下: public class BGService : BackgroundService { protected override Task ExecuteAsync(CancellationToken stoppingToken) { while (true) { Thread.Sleep(…
Struts2中如何添加Servlet 以前Java开发都是Servlet的天下,如今是各种框架横行,遇到一个需要将以前的Servlet加入到现有的Struts2的环境中. Google之后发现Stack Overflow真是个好东西,解决如下,只是简单配置下. I assume you want to know how to use a servlet in conjunction with Struts2 when you have mapped everything to the Stru…
在web开发过程中开始接触的是servlet,用来处理用户请求.这几年随着spring 框架越来越成熟,几乎成了java web开发界的主流框架.既然这么受欢迎肯定有它的优点,spring框架在原来的基础上改进了,前端控制器的(DispatcherServlet)跟之前的Servlet作用相似,都是用来接收用户请求.前几天还有小一届的学弟问我这两个东西的区别,觉得还是有必要写篇文章记录下,方便以后的学习. Servlet介绍 1.Servlet不是框架,它是java库里面的一个类,Servlet…
一个result代表了一个可能的输出.当Action类的方法执行完成时,它返回一个字符串类型的结果码,框架根据这个结果码选择对应的result,向用户输出.在com.opensymphony.xwork2.Action接口中定义了一组标准的结果代码,可供开发人员使用,当然了只有我们的action继承ActionSupport 这个类才可以使用下面的结果代码,如下所示:public interface Action{    public static final String SUCCESS =…
web.xml是web应用中载入有关servlet信息的重要配置文件,起着初始化servlet,filter等web程序的作用. 通常,全部的MVC框架都须要Web应用载入一个核心控制器.那採取什么方法载入这种核心控制器呢,servlet或filter成为了非常好的选择. 由于它们会随着web服务的启用而自己主动的载入. 对于Struts 2框架而言.须要载入FilterDispatcher, 仅仅要Web应用负责载入FilterDispatcher,FilterDispatcher将会载入应用…
一.Result结果配置 1.全局和局部结果 ​ 平常我们设置跳转页面,是在action标签里面加上 result标签来控制,这种设置的页面跳转,称之为局部结果页面但是我们有时候在很多个action里面,针对不同的结果进行跳转时,也有可能跳转同一个页面,那么这个时候就可以配置全局结果页面. 1.1局部结果 在action里面写上的result跳转的页面,称之为局部结果页面配置 <action name="demo01_*" class="com.pri.web.acti…
一.Struts2页面配置 在struts2中页面可以分为两种,全局页面和局部页面. 1.全局页面: 在一个<package></package>标签内的多个action都要跳转到该页面,则该页面是全局页面. 全局页面的配置:可以在<package></package>标签内使用<global-result></global-result>标签来配置. 注意:该配置只有在该<package>标签内才有效. <stru…
1.struts2快速配置: A.到http://struts.apache.org下载struts2开发包struts-2.3.32-all.zip B.新建web项目并添加struts2依赖的jar文件 C.在web.xml配置struts2核心控制器(核心过滤器) D.在src下新建struts2的配置文件:struts.xml,并引入dtd(struts2-core-2.3.32.jar--àstruts-2.3.dtd) E.编写业务逻辑Action(LoginAction) pack…
struts2中的constant配置详解 本文主要讲解一下struts2中的constant常量配置,内容主要来自于互联网的整理.<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.ap…
struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法…
struts2中默认跳转为dispatcher请求转发 只能往jsp转发,跳转action报404 重定向 设置为redirect ,可以是jsp也可以是action <!--同一个包下的action之间的跳转--> <package name="action" namespace="/" extends="struts-default"> <action name="test1" class=&…
Struts2中使用Servlet API步骤 Action类中声明request等对象 Map<String, Object> request; 获得ActionContext实例 ActionContext ac=ActionContext.getContext(); 获取request等对象   request=(Map<String, Object>)ac.get("request"); 在request等对象中保存数据  request.put(&qu…
在Eclipse中配置Tomcat 创建和运行Servlet/JSP 步骤一:在Eclipse中配置Tomcat(注意下载Eclipse IDE for Java EE Developers) (1)在Eclipse中配置Tomcat.选择Window→Preferences命令,在打开的对话框左边列表框中选择Server节点中的Runtime Environments.单击窗口右侧的Add按钮,打开New Server Runtime Environmen对话框,在该对话框中可选择服务器的类型…
Struts2中的Action没有与任何Servlet API耦合,,但对于WEB应用的控制器而言,不访问Servlet API几乎是不可能的,例如需要跟踪HTTP Session状态等.Struts2中提供了一个ActionContext类,Struts2的Action可以通过该类来访问Servlet API. ActionContext类中包含的几个常用方法: Object get(Object key):该方法类似于调用HttpServletRequest的getAttribute(Str…
一.Action名称的搜索顺序 1.获得请求路径的URI,比如url是:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namespace为/path1/path2/path3的package,假设不存在这个package则运行步骤3:假设存在这个package,则在这个package中寻找名字为test的action.当在该package下寻找不到action 时就会直接跑到默认namaspace的package里面去寻找ac…
(原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂 1. 在官网https://struts.apache.org下载Struts2,建议下载2.3系列版本.从图中可以看出,既可以分开下载子文件,又可以一次全部下载. 这里我后面只用到struts-2.3.36-apps.zip,所以我单独下载这个 2.下载后解压缩,看到这样的内容 我们点开apps文件夹, 看到struts2自带了5个工程模板,我们开发时不必全部用到这些工程模板里面的库文件,我们可根据apps文件下的…
最近为了改一个问题,想加一个控制开关,就在web.xml 中配置了一个 <context-param> 参数,并在 Action 或 Interceptor 中获取参数值. 1.在 web.xml 中添加配置项: <context-param> <param-name>test</param-name> <param-value>true</param-value></context-param> 2.获取配置参数值的代码…
为Action配置method属性: 将Action类中的每一个处理方法都定义成一个逻辑Action方法. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="…
tomcat中配置servlet.xml的JNDI或JDBC连接数据库 一. JNDI 1. tomcat环境 找到X:\xxx\......\apache-tomcat-6.0.39\conf\server.xml,在<Host>节点中配置如下: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlV…