import java.util.HashMap;
import java.util.Map; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.portlet.bind.annotation.RenderMapping;
import org.springframework.web.servlet.ModelAndView; import com.etc.entity.Book;
import com.etc.entity.Student; //通过注解创建1个控制器对象
@Controller
public class HelloAction
{
public HelloAction()
{
System.out.println("构造了!!!");
}
//通过注解配置该方法处理含有hello的请求
@RequestMapping("/hello")
public String hello()
{
//返回一个视图标识.自动被映射到/WEB-INF/jsp/hello.jsp的文件
return "hello";
} //通过modelandview返回模型和视图的打包
@RequestMapping("/showdata")
public ModelAndView showdata()
{
Map<String,Object> data = new HashMap<String,Object>();
data.put("str", " i am bai"); //存储字符串
data.put("stu", new Student(1,"白")); //存储字符串 ModelAndView ma = new ModelAndView("showdata", data);
return ma;
}
@RequestMapping(method=RequestMethod.GET,value="/showinput")
public ModelAndView showinput(
@RequestParam(value="a",required=true) String a,
@RequestParam(value="b",required=false) String b
)
{
Map<String,Object> data = new HashMap<String,Object>();
data.put("a", a); //存储字符串
data.put("b", b); //存储字符串 ModelAndView ma = new ModelAndView("showinput", data);
return ma;
} //在请求作用域初始化1个空模型
@ModelAttribute("student")
public Student initStudent()
{
return new Student();
} @ModelAttribute("book")
public Book initBook()
{
return new Book();
} //用于输入一个学生。练习,创建Animal类,aid,aname,feetcount。使用模型驱动输入1个动物并显示。
@RequestMapping("/input_stu")
public String showinput_stu
(@ModelAttribute("student") Student stu
,@ModelAttribute("book") Book book)
{
return "show_stu";
} @RequestMapping(value="/{a}/{b}/input_path")
public ModelAndView inputpath(@PathVariable String a,@PathVariable String b)
{
Map<String,Object> data = new HashMap<String,Object>();
data.put("a", a); //存储字符串
data.put("b", b); //存储字符串 ModelAndView ma = new ModelAndView("showinput_path", data);
return ma;
}
//使用rest风格,录入1个学生
@RequestMapping(value="/{sid}/{sname}/input_stu_path.html")
public ModelAndView inputpath(@PathVariable int sid,@PathVariable String sname)
{
Map<String,Student> data = new HashMap<String,Student>(); data.put("stu", new Student(sid, sname) ); //存储学生 ModelAndView ma = new ModelAndView("showinput_stu_path", data);
return ma;
} //使用老方法获取request,session
@RequestMapping(value="/getsession1")
public String getsession1(HttpServletRequest request)
{
request.setAttribute("r", "rrrrrrrrrrr");
HttpSession s = request.getSession();
s.setAttribute("s1", "11111111");
return "show_session1";
} //使用新方法获取session
@RequestMapping(value="/getsession2")
public String getsession1(HttpSession session
,HttpServletRequest request
,SessionStatus sta)
{
//如果该session被删除,需要重建*/
if (sta.isComplete())
session = request.getSession();//重建sessin
session.setAttribute("s2","222222");
//session.invalidate(); //删除整个session
return "show_session2";
}
}

  

springmvc----demo1---hello---bai的更多相关文章

  1. springmvc学习(三)

    第一点---------使用 @RequestMapping 映射请求• Ant 风格资源地址支持 3 种匹配符:?:匹配文件名中的一个字符 *:匹配文件名中的任意字符 **:** 匹配多层路径 @R ...

  2. [模拟回调] demo1模拟用字符串调用js函数 demo2模拟springmvc controller回调页面js函数

    demo1. 模拟用字符串调用js 函数 function dataQuery() { var strFun = "testCallBack"; var strParam = &q ...

  3. SpringMVC一路总结(一)

    SpringMVC听闻已久,早在去年就被学长问到关于SpringMVC的基础知识,当时也没在意.主要是工作中也没有用到关于SpringMVC的技术,因此免于没有时间和精力的借口就没有接触和学习Spri ...

  4. springmvc 注解总结

    1.@RequestMapping@RequestMappingRequestMapping是一个用来处理请求地址映射的注解(将请求映射到对应的控制器方法中),可用于类或方法上.用于类上,表示类中的所 ...

  5. struts2 基础demo1

    我们都知道 struts2 是基于webframework 出现的 优秀的mvc 框架, 他和struts1 完全没有联系.struts2 是一个框架, 啥叫框架呢?是一个优秀的半成品 . web的框 ...

  6. ②springMVC入门

    1 1.1      需求 以案例作为驱动. springmvc和mybaits使用一个案例(商品订单管理). 功能需求:商品列表查询 1.2      环境准备 数据库环境:mysql5.1

  7. springMVC部署

      一.导入springMVC所需要的jar包   下载地址:http://repo.spring.io/release/org/springframework/spring/   二.springM ...

  8. springmvc(六)——视图和视图解析器

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoIAAAGrCAIAAADb2WEhAAAgAElEQVR4nOzdaVhTd78vfF8/z772c9 ...

  9. springmvc学习(五)——处理模型数据

    Spring MVC 提供了以下几种途径输出模型数据: ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据Map 及 Model: 入参 ...

  10. springmvc学习(四)

    1.使用 @CookieValue 绑定请求中的 Cookie 值 例子: java @RequestMapping(value="/testCookieValue") publi ...

随机推荐

  1. HTML文本/文字竖直方向/纵向显示

    HTML vertical text (Safari, Firefox, Chrome, and Opera) .vText { -moz-transform: rotate(-90deg) tran ...

  2. 错误 1 类型“System.Web.Mvc.ModelClientValidationRule”同时存在于“c:\Progra型“System.Web.Mvc.ModelClientValidationRule”同时存在

    解决方案: step1:首先关闭你应用程序方案,在你保存项目的文件夹下找到ProjectName.csproj  ProjectName是你实际的应用程序名称. step2:用文字编辑器打开你找到它找 ...

  3. 关于es集群转换为单点后,主分片丢失的问题(健康检测状态为red)

    正在找解决方案 前后情况是, 之前是es双节点,之后更改为单节点,data中的数据都是双节点的,也许导致了单节点的状态不正常,删除了data目录下内容后,重启es,好了,这是测试环境,所以这么干的

  4. tensorflow笔记:多层CNN代码分析

    tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码注释 (二) tensorflow笔记:多层CNN代码分析 (三) tensorflow笔记:多层LSTM代码分析 ...

  5. 英语发音规则---O字母

    英语发音规则---O字母 一.总结 一句话总结:(注:本文所有//的音标为英音音标,[]的音标为美音音标) 1.O在开音节中发/əu/ [o]? no /nəʊ/ [no] adv. 不 go /gə ...

  6. ural 2012 About Grisha N.(水)

    2012. About Grisha N. Time limit: 1.0 secondMemory limit: 64 MB Grisha N. told his two teammates tha ...

  7. 吐槽XE3中的BUG:无法调试32位的应用程序

    我想用的功能在XE5中有BUG, 无奈转移到XE3中测试,发现了XE3还有另外一个问题:无法DEBUG 32位的应用程序,这算什么事啊?有人说把项目属性中的link with dynamic RTL去 ...

  8. 使用log4j的邮件功能

    Log4j的邮件功能能够为我们做这样的事情----当程序运行完的时候,或者正在运行也是可以的,它将程序的日志通过邮件的方式发到你的邮箱上. 这样,对于程序运行的控制就不用每次都跑到机器上去看日志文件这 ...

  9. nginx安装目录

    1.rpm -ql nginx看看通过yum安装到哪里了 2./etc/logrotate.d/nginx    配置 nginx日志轮转 用于logrotate服务的日志切割 3./etc/ngin ...

  10. hive_学习_01_hive环境搭建(单机)

    一.前言 本文承接上一篇:hbase_学习_01_HBase环境搭建(单机),主要是搭建 hive 的单机环境 二.环境准备 1.说明 hive 的下载来源有: 官方版本:http://archive ...