友情提醒:eclipse创建servlet不会帮你同步创建一个web.xml配置文件;所以建议使用MyEclipse!

1.View层(jsp)

 <form action="javaweb/Logservlet" method="post">
<label>用户名:</label><input type="text" name="username" /><br>
<label>密码:</label><input type="password" name="password" /><br>
<label>生日:</label><input type="date" name="birthday" /><br>
<label>爱好:</label><input type="checkbox" name="favorite" value="看书" />看书
<input type="checkbox" name="favorite" value="画画" />画画
<input type="checkbox" name="favorite" value="玩电脑" />玩电脑
<input type="checkbox" name="favorite" value="睡觉" />睡觉<br>
<label>是否同意协议:</label><input type="radio" name="flag" value="true" />同意
<input type="radio" name="flag" value="false" />不同意<br>
<button type="submit">注册</button>
</form>

这是一个Jsp页面中的用户登录界面(表单)

提交之后跳转到一个servlet文件(位于javaweb包下的Logservlet.java文件),用于处理表单传进来的数据。

------------------------------------------------------------------------

------------------------------------------------------------------------

2.Controller层(servlet)

         try {
request.setCharacterEncoding("utf-8");
Users user = new Users();
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
user.setUsername(request.getParameter("username"));
user.setPassword(request.getParameter("password"));
user.setFavorites(request.getParameterValues("favorite"));
user.setFlag(request.getParameter("flag").equals("true")? true:false);
user.setBirthday(sdf.parse(request.getParameter("birthday")));
request.getSession().setAttribute("loginuser", user);
request.getRequestDispatcher("../loginsuccess.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}

这是Logservlet.java文件,将表单数据存到一个Users的实例化对象user中,并将此对象存到内置对象session中。

这样做是防止后面万一发生请求重定向导致表单数据的丢失。存在session对象中是最安全的办法。

最后跳转到loginsuccess.jsp页面,将表单数据在这个页面显示出来。

3.View层(javaBean为Model)

 <jsp:useBean  id="loginuser" class="javaweb.Users"  scope="session" />
<%
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date =sdf.format(loginuser.getBirthday());
%>
用户名:<%=loginuser.getUsername() %><br>
密码:<jsp:getProperty property="password" name="loginuser"/><br>
生日:<%=date %><br>
爱好:<%
String [] favorites = loginuser.getFavorites();
for(String a : favorites){
%>
<%=a %>
<%
}
%>
<br>
是否同意协议:<jsp:getProperty property="flag" name="loginuser"/><br>

这个是loginsuccess.jsp页面,用javaBean将存在session中的表单数据显示出来。

-------------------------------------------------------

-------------------------------------------------------

4.web.xml配置文件

 <servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<!--名称自定义,不过下面mapping的name也要一样 -->
<servlet-name>Logservlet</servlet-name>
<!--项目的servlet文件,包名+文件名 -->
<servlet-class>javaweb.Logservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Logservlet</servlet-name>
<!--表单/链接需要转向的文件,要加前面的“/”啊,而表单/链接的地址不需要 -->
<url-pattern>/javaweb/Logservlet</url-pattern>
</servlet-mapping>

这是创建servlet文件时要创建的配置文件,Myeclipse会自动创建。

java之MVC开发模式的更多相关文章

  1. Java web MVC开发模式入门感悟

    当我进行第一个完整的java web项目的开发时,对以前所学的Java web知识体系有了一个清晰的进阶认识.我觉得非常有必要对此进行必要的总结. MVC,意指model(数据持久层)+viewer( ...

  2. Java基础85 MVC开发模式

    1.MVC开发模式 本文用 Servlet+JSP+javaBean 的开发模式来讲解 Model:用javabean实现,用于封装业务数据View:用jsp实现,用于显示数据Controller:用 ...

  3. 什么是MVC开发模式以及它和传统开发模式的区别

    Model1模式:使用纯JSP或者JSP+JavaBean开发,存在如下缺陷:JSP页面中混合了HTML和JAVA代码,从而给代码的开发和阅读带 来了麻烦:系统后期维护和扩展非常困难,例如在JSP页面 ...

  4. MVC开发模式的数据运行流程

    对于java中经典的开发模式MVC,有一些感触!现说一下Java中数据的运行流程,由于我技术有限,有错的话欢迎提出,不喜勿喷! 我们知道在MVC开发模式,包括三部分视图层V(view).控制层C(Co ...

  5. JavaWeb 之 MVC 开发模式

    MVC 开发模式 一.JSP 演变历史 1. 早期只有servlet,只能使用response输出标签数据,非常麻烦 2. 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写 ...

  6. 13 JSP、MVC开发模式、EL表达式和JSPL标签+软件设计架构---学习笔记

    1.JSP (1)JSP概念:Java Server Pages 即java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!! (2)原理 ...

  7. jsp&mvc开发模式&jstl标签&三层架构

    目录 jsp 概念 原理 jsp 的脚本 jsp的内置对象 指令 注释 mvc:开发模式 jsp演变历史 mvc 优缺点 El表达式 JSTL 标签 练习 三层架构:软件设计架构 案例:用户信息列表展 ...

  8. MVC:开发模式&&三层架构:软件设计架构

    MVC:开发模式 jsp演变历史 早期只有servlet,只能使用response输出标签数据,非常麻烦 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码 ...

  9. MVC开发模式下的用户角色权限控制

    前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据 ...

随机推荐

  1. Android源码浅析(三)——Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机

    Android源码浅析(三)--Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机 最近比较忙,而且又要维护自己的博客,视频和公众号,也就没 ...

  2. 检查一个二叉树是否平衡的算法分析与C++实现

    今天面试一个实习生,就想既然是未出校园,那就出一个比较基础的题吧,没想到答的并不如人意,对于树的操作完全不熟悉,因此此题算是未作答.原来我想看一下他分析问题的思路,优化代码的能力.接下来会把最近半年我 ...

  3. My Upload.com product submission has been approved

     This morning I got to know that My product DB Query Analyzer had been appoved by upload.com, which ...

  4. Android指南针之加速度传感器地磁传感器-android学习之旅(67)

    由于andorid不推荐用传统的方向传感器,推荐用加速度传感器和地磁传感器来构造得到方向传感器的数据,其实主要是z轴的旋转角度 具体代码示例 代码如下 public class MainActivit ...

  5. (NO.00001)iOS游戏SpeedBoy Lite成形记(十八)

    现在需要实现具体的游戏逻辑大致如下: 玩家点击某条赛道选择一个选手,然后会弹出菜单窗口让玩家输入压赌的金额,如果输入的金额值非法,则在GameInterface下部的状态栏中显示提示,要求玩家重新输入 ...

  6. iOS开发 runtime实现原理以及实际开发中的应用

    自己写了一个小例子:有一些相关知识点和博客文章 A: 首先现在控制器里面初始化一个对象,然后调用对象的方法: #import "ViewController.h" #import  ...

  7. Make3D Convert your image into 3d model

    Compiling and Running Make3D on your own computer source: http://make3d.cs.cornell.edu/code_linux.ht ...

  8. LDA实现

    topic model本质上就一个套路,在doc-word user-url user-doc等关系中增加topic层,扩充为2层结构,一方面可以降维,另一方面挖掘深层次的关系,用户doc word ...

  9. ZooKeeper 数据模型

    本文主要讲述ZooKeeper的数据模型,包括ZooKeeper的数据视图,节点的层次结构以及节点类型等基本属性.Zookeeper的视图结构类似标准的Unix文件系统,但是没有引入文件系统相关概念: ...

  10. HBase Muti-Master

    为了保证HBase集群的高可靠性,HBase支持多Backup Master 设置.当Active Master挂掉后,Backup Master可以自动接管整个HBase的集群. 该配置极其简单: ...