- 浏览: 30807 次
- 性别:
- 来自: 成都
-
最新评论
文章列表
构造器方式注入
Performer.java文件:
package com.springinaction.springidol;
public interface Performer {
void perform() throws PerformanceException;
}
PerformanceException.java:
package com.springinaction.springidol;
public class PerformanceException extends Exception {
public Perform ...
Struts2框架的输入校验是通过XML配置文件或者注解来实现的,当然在Action中进行手动(编码)校验也是允许的,并且可以手动校验和XML配置文件或者注解方式校验一起使用。
数据校验依赖于validation和workflow两个拦截器。validation拦截器进行校验并创建具体字段错误的列表,workflow拦截器检查存在的校验错误,如果有,就返回"input"结果码,返回到包含校验的表单页面。
在基于Struts2框架的Web应用中,输入校验即可以通过在服务端完成,也可以在客户端完成。本文主要记录Struts2在服务端的几种校验方式。
Struts2在服务 ...
拦截器是Struts2框架的核心内容之一,许多核心功能(避免表单重复提交,数据类型转换,数据校验,文件上传,国际化及权限管理等)都是通过拦截器实现的。
Struts2中的拦截器是面向切面编程(AOP)设计思想的实现。
拦截器的使用通常包含以下几步:
1.创建拦截器类。
拦截器类可以通过实现Interceptor接口(实现init(),destroy(),intercept()方法),也可以通过集成AbctractInterceptor类并重写intercept()方法。
package cn.bdx.intercepter;
import java.util.Map;
i ...
struts2工作原理
- 博客分类:
- struts2
struts2的工作原理:
(1)首先要经过Struts2框架的核心控制器StrutsPrepareAndExecuteFilter。
(2)然后核心控制器依次查找ActionMapper来决定这个请求是否调用action。如果ActionMapper决定调用action,StrutsPrepareAndExecuteFilter就把这个请求的处理控制权委托给ActionProxy。
(3)ActionProxy通过Configuration Manager查询Struts2框架的核心配置文件(struts.xml),找到所要调用的Action类。
(4)接下来,ActionProx ...
后台:
package com.scott.uploadfile;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.Concurre ...
前台jsp内容:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
...
<!DOCTYPE html>
<html>
<head>
<title>WebSockete Demo</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="c ...
web.xml文件配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ...
单个文件上传:
web.xml文件的配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ ...
客户端跳转时用HttPservletResopse对象的sendRedirect函数实现,服务器端跳转是使用RequestDispather对象的forward方法实现的。这两者之间的区别主要体现在三个方面:
1. 使用服务器端跳转时,客户浏览器的地址栏并不会显示目标地址的URL,而是用客户端跳转时,地址栏当中会显示目标资源的URL;
2. 服务器端跳转是由客户端发送一个请求,请求一个服务器资源——如JSP和Servlet——,这个资源又将请求转到另一个服务器资源,然后再给客户端发送一个响应,也就是说服务器端跳转是客户端发送一次请求,服务器端给出一次响应;而客户端跳转的流程则不同。客户端同 ...
开发几个月的项目,感觉在使用跳转的时候总不是很顺手,今天特意来归纳一下,不详或错误之处还请指正。
1.使用meta标签
<!--如下表示5秒后跳转到url指定的链接,推荐使用这种方式-->
<meta http-equiv="refresh" content="5;url=连接的地址">
2.使用window.location
meta标签共有两个属性,它们分别是http-equiv属性和name属性。 1、name 属性 : <meta name="Generator" contect="">用以说明生成工具(如Microsoft FrontPage 4.0)等; <meta name="KEYWords" contect="">向搜索引擎说明你的网页的关键词; <meta name="DEscription" contect="">告诉搜索引擎你的站点的 ...
SpringMVC验证可以通过实现Validator接口来实现,话不多说,来代码吧。 本文参考自:http://haohaoxuexi.iteye.com/blog/1812584 假设我们需要对一个User的实体类进行验证:
public class User {
private String username;
private String password; ...
本文参照http://haohaoxuexi.iteye.com/blog/1750680
SpringMVC拦截器的作用:权限管理,用户是否登录,像12306那样判断当前时间是否是购票时间等等操作。
一、定义Interceptor的实现类
SpringMVC的interceptor的拦截请求是通过HandlerInterceptor来实现的。在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式,第一种方式是要定义的Interceptor类要实现了Spring 的HandlerInterceptor 接口,或者是这个类继承实现了 ...
在网上浏览了一下,发现这篇文章写的很不错http://exceptioneye.iteye.com/blog/1014123,特此借鉴一下。
SpringMVC框架的核心构件
1、Dispatcher Servlet
2、Controller
3、Handler Mapping
4、ViewResolver & View
5、Interceptors
6、LocalResolver
7、Validate
SpringMVC框架实现的功能
1. 以Controller为中心完成对系统流程的控制管理
2. 对请求数据的收集
3. 对传入的参数进行验 ...