springmvc的实现原理,要求用图形和文字的形式展现,不知道是哪个图啊,spring主页上应该有,但是太多了。

springmvc的原理都没人知道么

哥们这样的问题连一分也不给啊?给你控制层的代码,自己往jsp里传值吧。

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/checkCodeAction/")
public class CheckCode extends HttpServlet {

public CheckCode() {
super();
}

public void destroy() {
super.destroy();
}

public void init() throws ServletException {
super.init();
}

public Color getRandColor(int s, int e) {
Random random = new Random();
if (s > 255) s = 255;
if (e > 255) e = 255;
int r = s + random.nextInt(e - s);
int g = s + random.nextInt(e - s);
int b = s + random.nextInt(e - s);
return new Color(r, g, b);
}

@RequestMapping("service.do")
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//禁止缓存
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "No-cache");
response.setDateHeader("Expires", 0);
// 指定生成的响应是图片
response.setContentType("image/jpeg");
int width = 200;
int height = 60;
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB); //创建BufferedImage类的对象
Graphics g = image.getGraphics(); //创建Graphics类的对象
Graphics2D g2d=(Graphics2D)g; //通过Graphics类的对象创建一个Graphics2D类的对象
Random random = new Random(); //实例化一个Random对象
Font mFont = new Font("华文宋体", Font.BOLD, 30); //通过Font构造字体
g.setColor(getRandColor(200, 250)); //改变图形的当前颜色为随机生成的颜色
g.fillRect(0, 0, width , height); //绘制一个填色矩形

//画一条折线
BasicStroke bs=new BasicStroke(2f,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); //创建一个供画笔选择线条粗细的对象
g2d.setStroke(bs); //改变线条的粗细
g.setColor(Color.DARK_GRAY); //设置当前颜色为预定义颜色中的深灰色
int[] xPoints=new int[3];
int[] yPoints=new int[3];
for(int j=0;j<3;j++){
xPoints[j]=random.nextInt(width - 1);
yPoints[j]=random.nextInt(height - 1);
}
g.drawPolyline(xPoints, yPoints,3);
//生成并输出随机的验证文字
g.setFont(mFont);
String sRand="";
int itmp=0;
for(int i=0;i<4;i++){
if(random.nextInt(2)==1){
itmp=random.nextInt(26)+65; //生成A~Z的字母
}else{
itmp=random.nextInt(10)+48; //生成0~9的数字
}
char ctmp=(char)itmp;
sRand+=String.valueOf(ctmp);
Color color=new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110));
g.setColor(color);
/****随机缩放文字并将文字旋转指定角度**/
//将文字旋转指定角度
Graphics2D g2d_word=(Graphics2D)g;
AffineTransform trans=new AffineTransform();
trans.rotate(random.nextInt(45)*3.14/180,15*i+10,7);
//缩放文字
float scaleSize=random.nextFloat()+0.8f;
if(scaleSize>1.1f) scaleSize=1f;
trans.scale(scaleSize, scaleSize);
g2d_word.setTransform(trans);
/************************/
g.drawString(String.valueOf(ctmp),30*i+40,16);

}
//将生成的验证码保存到Session中
HttpSession session=request.getSession(true);
session.setAttribute("randCheckCode",sRand);
g.dispose();
ImageIO.write(image,"JPEG",response.getOutputStream());
}

}
追问

辛苦了

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-12
这种问题很难回答,就好像问房屋结构的原理是什么一样。
都是些学术派理论派折腾出来的,实际工作中这种知识一文不值。

如果问实现思路,设计思想,还可以去查查资料。追问

奥,不过我就是想知道那个图,领导说有个阐述原理的图

追答

一般来说只会有执行流程图,由哪个类经过哪个类,大概的处理步骤。
spring mvc 流程 示意图
去百度图片里搜还是有一些的

本回答被提问者采纳

java 急求SpringMVC的工作原理的解释和它的流程图
1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;...

SpringMVC框架详解:模型+核心组件+实现原理等详解
SpringMVC框架详解:模型+核心组件+实现原理SpringMVC作为Spring体系结构的重要组成部分,基于MVC模式,旨在提供轻量级的Web开发框架。核心组件包括前端控制器DispatcherServlet,处理器映射器HandlerMapping,处理器适配器HandlerAdapter,视图解析器ViewResolver和视图本身。它们共同协作,实现请求处理流程。模型(Model)...

如何解读springmvc的执行流程及原理?
在深入解读 SpringMVC 执行流程及原理之前,首先回顾 web 程序的架构模式,主流采用三层架构,即浏览器向后端服务器发送请求,后端服务器则通过 Servlet 接收请求和数据。然而,将所有处理工作仅交由 Servlet 负责,导致耦合性过强,不利于后期维护与扩展。为了优化这一情况,将后端服务器拆分为 web、service...

SpringMVC的工作原理是什么样的,跟Spring的关系是怎么样的?_百度知 ...
Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText 和 POI。Spring 框架的功能可以用在任何 J2EE服务器中,大多数功能也适用于不受管理的环境。Spring的核心要点是:支持不绑...

spring mvc的工作原理是什么?
spring mvc的工作原理是:提供了构建 Web 应用程序的全功能 MVC 模块。使用Spring可插入的MVC架构,可以选择是使用内置的Spring Web框架还是Struts这样的Web框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术。例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring ...

SpringMVC运行原理
在SpringMVC中,处理请求的流程始于DispathcherServlet的doService()方法,该方法会先进行一些准备工作,随后执行doDispatch()方法。在doDispatch()中,getHandler()方法会根据不同的Controller情况返回Handler,可能是Controller对象,也可能是Method对象。接下来,getHandlerAdaptor()方法会根据HandlerExecutionChain...

spring mvc的运行原理是什么,m代表什么,v代表什么,v包含些什么,m包含...
1. MVC中的"M"代表模型(Model),它是应用程序的核心部分,负责处理数据和业务逻辑。2. "V"代表视图(View),它是用户交互的界面,负责展示数据和接收用户的输入。3. 视图(V)包含HTML元素或其他展示技术,用于将数据以特定的格式呈现给用户。视图不包含任何业务逻辑,它的职责仅仅是展示模型提供的...

springmvc简单例子(springspringmvc)
首先,你的确定数据的主键是否可以使用序列自增。如果可以那么你可以在插入数据的时候获取序列里的值,这样数据就不会重复了。springmvc可以连接数据库,用spring的springtemplate。简化数据库操作。在配置文件中设置一下就可以。。例如:以下是spring配置文件中的内容,不懂可以继续问。。springmvc怎样异步处理...

如何在spring mvc中上传图片并显示出来
prefix="c" uri="http:\/\/java.sun.com\/jsp\/jstl\/core"%>Spring MVC文件上传图片文件上传<mvc:form modelAttribute="user" action="upload.html"enctype="multipart\/form-data">用户名:<mvc:input path="userName" \/>选择头像:<\/mvc:form><c:if test="${u !=null }">上传结果...

Spring mvc执行流程图-1
1.1 Spring mvc的执行流程图 Spring mvc的执行流程大致如下: 1)所有请求被DispatcherServlet控制器拦截。 2)被拦截的请求去handlerMappings中寻找对应的HandlerMapping对象并得到请求对应的Handler对象。 3)把获取到的Handler对象以及根据请求查找跟请求对应的拦截器作为入参,封装成一个Handler...

相似回答