Servlet Struts2 Spring MVC
处理用户提交的数据

基于MVC设计模式的Web应用程序

是一个框架

是MVC框架

导入servlet包,配置web.xml文件

web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app>
  3.  
  4. <servlet>
  5. <servlet-name>HelloServlet</servlet-name>
  6. <servlet-class>HelloServlet</servlet-class>
  7. </servlet>
  8.  
  9. <servlet-mapping>
  10. <servlet-name>HelloServlet</servlet-name>
  11. <url-pattern>/hello</url-pattern>
  12. </servlet-mapping>
  13.  
  14. </web-app>

   

service()

xxServlet类继承了HttpServlet类;

也继承了方法service(

HttpServletRequest,HttpServletResponse);

在执行doGet()或者doPost()之前,

都会先执行service();

   

获取参数

  1. //获取浏览器提交的request请求中的参数,
  2. /即前端form表单中提交的数据
  3. String name = request.getParameter("name");
  4. String password = request.getParameter("password");
   
返回响应    
调用流程    
  提交数据到Action  
  显示数据到JSP  
    视图定位
    接受表单数据
中文问题 中文问题 中文问题
生命周期    

客户端跳转

  1. //在Servlet中进行客户端跳转
  2. //浏览器地址变化,即请求路径变化。但还是在同一个session中
  3. response.sendRedirect("xx.jsp/请求路径");
客户端跳转 客户端跳转
  客户端跳转传参  

服务端跳转

  1. //请求路径不变,
  2. request.getRequestDispatcher("xx.jsp").forward(request, response);
   
自启动    
  日志输出  

request常见方法

(获取参数)(获取头信息)

(服务端传参)

setAttribute和getAttribute

可以用来在进行服务端跳转的时候,

在不同的Servlet之间进行数据共享

request  
response用法 response  

上传文件

(上传页面upload.html)

  1. //method必须是post的,get不能上传文件
  2. //enctype="multipart/form-data" 表示提交的数据是二进制文件
  3.  
  4. <form action="uploadPhoto" method="post" enctype="multipart/form-data">
  5. </form>
  6.  
  7. //提供type="file" 的字段进行上传
  8. <input type="file" name="filepath" />

(上传功能开发UploadPhotoServlet)

导入commons-io-1.4.jar、

commons-fileupload-1.2.2.jar;

上传文件 上传文件
  上传文件最大值  
  session session

CRUD

(查询、增加、删除、编辑、更新)

   
JSON(提交数据)    
JSON(获取一个对象)    
JSON(获取多个对象)    
 

标签(form、iterator、check、

radio、select、多重迭代)

 
  调试  
  通配符匹配  
  拦截器filter 拦截器Interceptor
  表单验证  
  xml表单验证  
  Action是多实例的  
  注解方式 注解方式
     

控制层技术:Servlet+reflection、Struts2、Spring MVC三者之间的比较学习的更多相关文章

  1. 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。

    本文转自http://www.cnblogs.com/davidwang456/p/4090058.html 感谢作者 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并 ...

  2. 惊呆了,Servlet Filter和Spring MVC Interceptor的实现居然这么简单

    前言 创建型:单例模式,工厂模式,建造者模式,原型模式 结构型:桥接模式,代理模式,装饰器模式,适配器模式,门面模式,组合模式,享元模式 行为型:观察者模式,模板模式,策略模式,责任链模式,状态模式, ...

  3. spring mvc 及NUI前端框架学习笔记

    spring mvc 及NUI前端框架学习笔记 页面传值 一.同一页面 直接通过$J.getbyName("id").setValue(id); Set值即可 二.跳转页面(bus ...

  4. 针对spring mvc的controller内存马-学习和实验

    1 基础 实际上java内存马的注入已经有很多方式了,这里在学习中动手研究并写了一款spring mvc应用的内存马.一般来说实现无文件落地的java内存马注入,通常是利用反序列化漏洞,所以动手写了一 ...

  5. structs spring hibernate 三者之间有什么关系?

    现在开发流行MVC模式,structs在C(控制器)中使用:hibernate在M(模型)中被使用:至于 spring ,最大的作用在于,structs.hibernate的对象,由于在各个层之间相互 ...

  6. SpringBoot整合持久层技术--(三)Spring Data JPA

    简介: JPA(java Persistence API)和SpringData是两个范畴的概念.spring data jpa是spring公司下的spring data项目的一个模块. sprin ...

  7. 存储层技术:JDBC、Hibernate、Mybatis三者之间的比较学习

    JDBC     Hibernate Mybatis    (Java  DataBase Connnection) 是通过JAVA访问数据库 对JDBC的轻量封装 像操作对象操作数据库 对SQL的轻 ...

  8. Spring MVC和Struts2的比较[转]

    虽然说没有系统的学习过Spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比 ...

  9. Struts2和Spring MVC 区别 今天面试被问到了

    虽然说没有系统的学习过Spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比 ...

随机推荐

  1. 第八章服务器raid及配置实战

      版本 特点 磁盘个数 可用空间 故障磁盘数 应用环境 RAID0 读写速度快,数据容易丢失 两个 全部 一块 测试,临时性 RAID1 读写速度慢,数据可靠 至少两个,可以2的倍数 总容量的一半 ...

  2. 徐州H

    #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<=b;++i) #defi ...

  3. 如何创建和部署自己的EOS代币

    本文我们将弄清楚什么是EOS代币以及如何自己创建和部署EOS代币. 与以太坊相反,EOS带有即插即用的代币智能合约.以太坊拥有ERC20智能合约,EOS拥有eosio.token智能合约.Eosio. ...

  4. itchat学习

    itchat是一个开源的微信个人号接口,可以很方便的使用python调用微信. 教程如下:https://itchat.readthedocs.io/zh/latest/ 简单试玩了一下,觉得还挺有趣 ...

  5. C语言编程入门题目--No.15

    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示, 60分以下的用C表示. 1.程序分析:(a>b)?a:b这是条件运算符的基本例子. 2 ...

  6. 洛谷 2016 战略游戏(树形DP)

    题目描述 Bob喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的办法.现在他有个问题. 他要建立一个古城堡,城堡中的路形成一棵树.他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能 ...

  7. P3831 [SHOI2012]回家的路

    P3831 [SHOI2012]回家的路 分层图基础题,就是建图稍有麻烦   #include<cstdio> #include<algorithm> #include< ...

  8. nginx常见应用实例

    1.nginx 中 location 应用实例location 是 nginx 的精华,nginx 就是通过拦截到的请求去对配置好的 location 块(location block)进行请求代理的 ...

  9. 如何将项目上传至GitHub?

    心血来潮的一天,突然想写点什么哈哈哈哈. 那就写写如何将项目上传到GitHub(矫情,上传个项目还要写个文章) 第一步:下载Git https://git-scm.com/download/win 下 ...

  10. 【Hadoop离线基础总结】HDFS详细介绍

    HDFS详细介绍 分布式文件系统设计思路 概述 只有一台机器时的文件查找:hello.txt /export/servers/hello.txt 如果有多台机器时的文件查找:hello.txt nod ...