- 浏览: 102875 次
- 性别:
- 来自: 北京
博客专栏
-
自己动手写java 框架
浏览量:28585
最新评论
-
zh_harry:
线上demo已经上线http://www.sparrowzoo ...
高性能轻量级markdown 解析器java 版sparrow-markdown -
zh_harry:
sp42 写道演示地址 本地的? 代码 git clone 下 ...
自己动手写mvc框架SPARROW MVC -
sp42:
非常不错 赞一个
高性能轻量级markdown 解析器java 版sparrow-markdown -
sp42:
演示地址 本地的?
自己动手写mvc框架SPARROW MVC -
sp42:
我的框架也是用原生写,已弃坑。还是 MVVM 的爽,推荐 vu ...
SPARROW-JS 从0开始写 0依赖,原生JS框架
package com.jp.action;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.RequestUtils;
import org.springframework.web.bind.ServletRequestBindingException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.InternalResourceView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
/**
// 实现Controller接口中的handleRequest方法
public ModelAndView handleRequest(HttpServletRequest req,
HttpServletResponse res) throws Exception {
// TODO Auto-generated method stub
Map model=new HashMap();
model.put("helloWorld",getHelloWorld());
return new ModelAndView(getViewPage(),model);
}
* @author user
*
*/
//http://localhost:8080/myApp/helloWorld.do
//实现了Controller接口,需要在导入spring.jar包
public class HelloWorldAction extends MultiActionController{
private Logger logger=Logger.getLogger(this.getClass().getName());
// private String helloWorld;
private String viewPage;
public String getViewPage() {
return viewPage;
}
public void setViewPage(String viewPage) {
this.viewPage = viewPage;
}
public ModelAndView insert(HttpServletRequest req,
HttpServletResponse res) throws ServletRequestBindingException {
// TODO Auto-generated method stub
String helloWorld=RequestUtils.getRequiredStringParameter(req, "helloWorld");
Map model=new HashMap();
model.put("helloWorld","insert:"+helloWorld);
return new ModelAndView(getViewPage(),model);
}
public ModelAndView delete(HttpServletRequest req,
HttpServletResponse res) throws ServletRequestBindingException {
// TODO Auto-generated method stub
String helloWorld=RequestUtils.getRequiredStringParameter(req, "helloWorld");
Map model=new HashMap();
model.put("helloWorld","delete:"+helloWorld);
return new ModelAndView(getViewPage(),model);
}
public ModelAndView update(HttpServletRequest req,
HttpServletResponse res) throws ServletRequestBindingException {
// TODO Auto-generated method stub
String helloWorld=RequestUtils.getRequiredStringParameter(req, "helloWorld");
Map model=new HashMap();
model.put("helloWorld","update:"+helloWorld);
return new ModelAndView(getViewPage(),model);
}
}
---dispatcherServlet-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 定义映射 -->
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="helloWorld.do">helloWorldAction</prop>
</props>
</property>
</bean>
<!-- 定义视图 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.InternalResourceView</value>
</property>
<!-- 定义JSP存放路径 -->
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<!-- 定义JSP页面后缀 -->
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<!-- 定义控制器 -->
<bean id="helloWorldAction" class="com.jp.action.HelloWorldAction">
<property name="methodNameResolver">
<ref bean="paraMethodResolver"/>
</property>
<property name="viewPage">
<value>show</value>
</property>
</bean>
<!-- 定义多动作参数 -->
<bean id="paraMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName">
<value>method</value>
</property>
</bean>
</beans>
-----JSP
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head><title>第二个SpringMVC实例</title></head>
<body>
<form name="HelloWorld" action="/springmvc/helloWorld.do" method="post">
欢迎语:<input type="text" name="helloWorld" value=""/><br/>
<input type="submit" name="method" value="提交">
<input type="submit" name="method" value="insert">
<input type="submit" name="method" value="update">
<input type="submit" name="method" value="detele">
<input type="submit" name="method" value="select">
</form>
</body>
</html>
---SHOW.JSP
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head><title>第二个SpringMVC实例</title></head>
<%String str=(String)request.getAttribute("helloWorld"); %>
<body>
<H1><%=str %></H1>
</body>
</html>
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.RequestUtils;
import org.springframework.web.bind.ServletRequestBindingException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.InternalResourceView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
/**
// 实现Controller接口中的handleRequest方法
public ModelAndView handleRequest(HttpServletRequest req,
HttpServletResponse res) throws Exception {
// TODO Auto-generated method stub
Map model=new HashMap();
model.put("helloWorld",getHelloWorld());
return new ModelAndView(getViewPage(),model);
}
* @author user
*
*/
//http://localhost:8080/myApp/helloWorld.do
//实现了Controller接口,需要在导入spring.jar包
public class HelloWorldAction extends MultiActionController{
private Logger logger=Logger.getLogger(this.getClass().getName());
// private String helloWorld;
private String viewPage;
public String getViewPage() {
return viewPage;
}
public void setViewPage(String viewPage) {
this.viewPage = viewPage;
}
public ModelAndView insert(HttpServletRequest req,
HttpServletResponse res) throws ServletRequestBindingException {
// TODO Auto-generated method stub
String helloWorld=RequestUtils.getRequiredStringParameter(req, "helloWorld");
Map model=new HashMap();
model.put("helloWorld","insert:"+helloWorld);
return new ModelAndView(getViewPage(),model);
}
public ModelAndView delete(HttpServletRequest req,
HttpServletResponse res) throws ServletRequestBindingException {
// TODO Auto-generated method stub
String helloWorld=RequestUtils.getRequiredStringParameter(req, "helloWorld");
Map model=new HashMap();
model.put("helloWorld","delete:"+helloWorld);
return new ModelAndView(getViewPage(),model);
}
public ModelAndView update(HttpServletRequest req,
HttpServletResponse res) throws ServletRequestBindingException {
// TODO Auto-generated method stub
String helloWorld=RequestUtils.getRequiredStringParameter(req, "helloWorld");
Map model=new HashMap();
model.put("helloWorld","update:"+helloWorld);
return new ModelAndView(getViewPage(),model);
}
}
---dispatcherServlet-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 定义映射 -->
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="helloWorld.do">helloWorldAction</prop>
</props>
</property>
</bean>
<!-- 定义视图 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.InternalResourceView</value>
</property>
<!-- 定义JSP存放路径 -->
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<!-- 定义JSP页面后缀 -->
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<!-- 定义控制器 -->
<bean id="helloWorldAction" class="com.jp.action.HelloWorldAction">
<property name="methodNameResolver">
<ref bean="paraMethodResolver"/>
</property>
<property name="viewPage">
<value>show</value>
</property>
</bean>
<!-- 定义多动作参数 -->
<bean id="paraMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName">
<value>method</value>
</property>
</bean>
</beans>
-----JSP
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head><title>第二个SpringMVC实例</title></head>
<body>
<form name="HelloWorld" action="/springmvc/helloWorld.do" method="post">
欢迎语:<input type="text" name="helloWorld" value=""/><br/>
<input type="submit" name="method" value="提交">
<input type="submit" name="method" value="insert">
<input type="submit" name="method" value="update">
<input type="submit" name="method" value="detele">
<input type="submit" name="method" value="select">
</form>
</body>
</html>
---SHOW.JSP
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head><title>第二个SpringMVC实例</title></head>
<%String str=(String)request.getAttribute("helloWorld"); %>
<body>
<H1><%=str %></H1>
</body>
</html>
发表评论
-
零基础小白从0到1的spring cloud alibaba 全家桶项目
2022-10-18 02:15 2563零基础暖心计划课程内容 https://spar ... -
sparrow 支持JDK依赖注入功能
2022-08-02 15:28 2020麻雀虽小,但五脏俱全 sparrow 源自中国俗语 ... -
Sparrow js 框架开源上线
2019-06-29 21:28 1069sparraw 框架js 版开源上线 www.sparr ... -
SPARROW-JS 从0开始写 0依赖,原生JS框架
2018-03-15 19:52 1688SPARROW-JS 前端JS框架变幻莫测,但原生js 接口 ... -
Sparrow算法篇 从日期取交集到思维模式-2
2018-03-09 18:04 1581接上一篇 Sparrow算法篇 从日期取交集到思维模式 ... -
高性能轻量级markdown 解析器java 版sparrow-markdown
2018-02-24 17:17 4389动机 markdown 已成为网络博客最主要的排版格式。 ... -
Sparrow 算法篇 由日期取交集到思维模式
2018-02-06 23:46 1791日期交集 早在13年左右的时侯,做过一个系统,功能很简单 ... -
自己动手写mvc框架SPARROW MVC
2018-02-01 22:31 1613SPARROW-MVC SPARROW-MVC 是SPA ... -
REDIS客户端封装实践2
2018-01-30 13:32 1135接上一篇 [REDIS客户端封装意淫](https:// ... -
SPARROW 框架redis客户端封装实践
2018-01-25 21:41 1166redis 本身有客户端,先抛出来一个问题?为什么要对red ... -
SPARROW架构介绍
2018-01-24 22:02 1324sparrow 框架设计最大化解耦,理论上业务层只依赖SPA ... -
Sparrow 框架设计哲学
2018-01-24 13:21 1282sparrow 框架 麻雀虽小,但五脏俱全 为什么要写这 ... -
tomcat 日志那点事
2017-07-15 14:06 823tomcat 启动时使用的是java.util.logger ... -
疯子在思考之-异常与return 的差别
2013-10-14 14:46 1448程序异常会中断程序执行,所有所有的异常都需要捕获,否则会 ... -
MANIFEST.MF 文件内容完全详解
2013-09-02 14:49 1337打开Java的JAR文件我们经常可以看到文件中包含着一个ME ... -
疯子奉献-一个符号惹的祸
2013-08-30 14:14 1789程序员是严谨的,但是再严谨也容易出问题,这就叫做bug。 我 ... -
疯子在思考之-从日志想到的软件架构
2013-08-28 18:57 1955谈到架构是一个很泛的话题 这里我们讨论一下兼容性与扩展性 ... -
疯子在思考之java 线程的那点事儿
2013-08-14 15:13 3318很长时间没写博客了,最近事情比较多 之前在文章中提到过tomc ... -
linux 自动重启tomcat 脚本
2013-08-12 17:59 3023Tomcat作为开源的服务器 ... -
tomcat 优化及错误All threads (10) are currently busy, waiting. Increase maxThreads错误
2013-08-12 17:42 16091. 如何加大tomcat连接数 在tomcat配置文件se ...
相关推荐
在Spring MVC框架中,`mvc:annotation-driven`和`mvc:message-converters`是两个非常重要的元素,它们在处理基于注解的控制器和数据转换方面起着关键作用。本篇文章将深入探讨这两个组件的工作原理以及如何在实际...
这篇博文通过一步步的教程,将引导我们深入了解如何使用Spring MVC构建一个简单的Web应用。 首先,我们需要了解Spring MVC的基本组件和它们的作用: 1. **DispatcherServlet**:这是Spring MVC的前端控制器,负责...
SSM框架,即Spring、Spring MVC和MyBatis的整合,是Java Web开发中常用的一种技术栈。Spring作为一个轻量级的容器,负责管理对象的生命周期和依赖关系;Spring MVC作为Spring的Web层组件,用于处理HTTP请求和响应;...
《Spring MVC 深入浅出》 本文档将逐步引导你学习并理解Spring MVC框架的构建过程,从基础环境设置到实际应用开发,深入解析Spring MVC的核心概念和实践技巧。Spring MVC是Spring框架的一个重要组成部分,用于构建...
对于实际应用,教程会通过一个简单的例子展示如何创建一个完整的Spring MVC项目,从创建MVC配置文件,编写控制器,到处理HTTP请求,最后展示结果。这个过程会涵盖文件上传、日期格式化、国际化支持等常见功能。 在...
本教程将通过一个简单的例子,讲解如何利用Spring MVC创建REST服务。 首先,我们需要在项目中引入Spring MVC的相关依赖。通常,这涉及到在Maven或Gradle的配置文件中添加Spring Web和Spring MVC的依赖。例如,如果...
Spring3MVC-REST-HelloWorld 是一个基础的示例,用于展示如何在Spring框架的MVC模块中实现RESTful Web服务。这个实例是初学者理解Spring MVC与REST结合使用的理想起点。REST(Representational State Transfer)是一...
在这个例子中,`HelloWorldPortlet`是一个简单的portlet,它使用Spring的`@Autowired`注解注入`HelloWorldService`,并在视图渲染时将服务返回的消息传递给JSP页面。 总结,Spring Web MVC与Portlet的整合为开发者...
spring集成redis,spring mvc实现session共享以及redis排行榜春季会议Redis这一系列项目,将会有多个spring相关的简单的例子,包括session-with-redis、spring整合redis等1、在springmvc项目session存储到redis中...
Spring MVC 是一个强大的Java web...通过这个简单的例子,初学者可以全面地了解Spring MVC的工作原理和流程,为更深入的Web开发打下基础。实践中遇到的问题和解决方法也会加深对Spring MVC的理解,有助于提升开发技能。
《Spring MVC与JSP结合构建基础Web应用》 在Web开发领域,Spring MVC框架与JSP(JavaServer Pages)的组合是常见的实现模式,尤其在构建MVC(Model-View-Controller)架构的Web应用程序时。Spring MVC提供了一个...
综上所述,整合Spring MVC和MyBatis涉及了Web应用的多个层面,从配置到业务逻辑,都需要细心设计和实现。这个过程不仅要求对两个框架有深入理解,还需要熟悉Spring的IoC和AOP原理。通过这样的整合,我们可以构建出...
通过这个例子,你可以学习如何设置 Spring MVC 的基本结构,创建 Controller、配置 URL 映射,以及如何将 Model 数据传递给视图进行展示。同时,了解 IoC 容器是如何管理 Bean 的生命周期和依赖关系的,这在实际开发...
本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上。下面开始贴代码。 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。 先说...
在压缩包文件"spring3_rest"中,可能包含了一个简单的Spring 3.0 MVC和REST的例子,你可以通过这个例子学习如何配置Spring MVC的DispatcherServlet,创建RESTful端点,处理请求和响应,以及如何使用JUnit进行测试。...
首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController ...
在这个“最全的Spring MVC注解例子”中,我们将深入探讨Spring MVC的核心注解,以及如何实现异步请求处理和错误管理。 1. **Spring MVC核心注解** - `@Controller`:标记一个类为处理HTTP请求的控制器。这是Spring...
在“spring MVC myeclipse例子”中,我们通常会经历以下几个关键步骤来创建一个简单的Spring MVC项目: 1. **项目初始化**:首先,我们需要在MyEclipse中创建一个新的Dynamic Web Project,然后通过Spring工具集或...
标题“spring4-mvc-hibernate4”表明这是一个关于Spring 4和Hibernate 4集成的项目或者教程,重点在于如何在Web应用中利用Spring MVC作为控制层框架,与Hibernate ORM工具协同工作来处理数据持久化。 描述中的...
在这个例子中,`/users`路径的GET请求会调用`getUsers`方法,该方法返回一个User对象列表,Spring MVC会自动将这个列表转换成JSON格式,并发送给客户端。 在实际项目中,我们还需要配置数据访问层(如JPA、...