文档章节

jsp---->JSP + Servlet + JavaBean开发模式

小强斋太
 小强斋太
发布于 2016/11/09 20:07
字数 553
阅读 5
收藏 0
JSP + Servlet + JavaBean
分析:
JSP 优点:开发前台界面方便,做UI 开发容易
Servlet 优点:是JAVA 程序,安全性高,性能也高
Servlet 缺点:显示不方便
Servlet 也可以像JSP 一样接收用户的请求参数
JavaBean 优点:可重复调用,需要接收用户的请求参数,进行相应的处理                                                                                                                                                                                        
问题?
JSP 跳转到Servlet 可以吗?可以,通过表单提交或超链接
Servlet 跳转到JSP 可以吗?可以,可以通过response 对象
response.sendRedirect():客户端跳转,请求不保存
现在从 Servlet 中要传递的值只使用一次,如果把此值存放在session 范围之中,则此内容只要用户一直与服务器保持连接,则此块内存空间要一直被占用,那么性能会怎么样?性能会很低。
解决方法:RequestDispatcher 接口,是用于进行服务器端跳转的接口
此接口要求使用 HttpServletRequest 进行实例化
RequestDispatcher rd = null ;
rd = req.getRequestDispatcher("mvcdemo.jsp") ;
rd.forward(req,resp) ;
                                                                                                                                                                                        
MVCServlet.java
package cn.mldn.lxh.servlet ;

import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
import cn.mldn.lxh.bean.MVCCheck ;

public class MVCServlet extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
  this.doPost(req,resp) ;
}
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
  String name = req.getParameter("uname") ;  //表单提交的参数
  MVCCheck mc = new MVCCheck() ;             //调用javabean进行处理,
  // 将请求内容设置到mc对象之中
  mc.setName(name) ;
  String path = null ;
  if(mc.isValidate())
  {
   // 保存名字在request范围之中
   req.setAttribute("name",mc.getName()) ;
   path = "mvc_success.jsp" ;
  }
  else
  {
   path = "mvc_failure.jsp" ;
  }
// 根据javabean的结果进行跳转 
  req.getRequestDispatcher(path).forward(req,resp) ;    
}
};
/*
  <servlet>
< servlet-name>mvc</servlet-name>
< servlet-class>cn.servlet.MVCServlet</servlet-class>
  </servlet>
  <servlet-mapping>
< servlet-name>mvc</servlet-name>
< url-pattern>/mvcdemo.mldn</url-pattern>
  </servlet-mapping>
*/
MVCCheck.java
package cn.bean ;

public class MVCCheck
{
	private String name ;

	public void setName(String name)
	{
		this.name = name ;
	}
	public String getName()
	{
		return this.name ;
	}
	// 验证
	public boolean isValidate()
	{
		if(this.name==null||"".equals(this.name))
		{
			return false ;
		}
		else
		{
			return true ;
		}
	}
};
mvc_success.jsp
<h2>欢迎:<%=request.getAttribute("name")%>光临!!!</h2>
Servlet 跳转到JSP 的服务器端跳转指令是:req.getRequestDispatcher("mvcdemo.jsp").forward(req,resp) ;
通过以上代码可以发现:
使用 MVC 开发程序,代码稍微复杂
JSP 与JavaBean 之间没有什么特别明显的直接关系
而 Servlet 根据JavaBean 返回的内容进行跳转

Servlet 中最好只有以下几种代码:
· 接收参数
· 调用 JavaBean
· 根据结果javaBean的结果进行跳转
· 有一些简单的逻辑判断

 

本文转载自:http://www.cnblogs.com/xqzt/archive/2012/08/17/5637246.html

共有 人打赏支持
小强斋太
粉丝 0
博文 181
码字总数 0
作品 0
广州
私信 提问
JSP复习笔记——第11章 JSP 构架和MVC设计模式

11.1 JSP Model I 体系结构 11.2 JSP Model II 体系结构/MVC设计模式 11.3 使用MVC设计模式改写用户注册程序 11.3.1 使用serlvet实现Controller层 11.3.2 使用jsp实现表示层 11.3.3 使用Jav...

暗之幻影
2014/12/18
0
0
读书《Servlet与JSP核心编程》

读书《Servlet与JSP核心编程》 Servlet和JSP技术概述 HelloServlet HttpServlet Servlet逻辑,面向处理 JSP表示,面向表示 Servlet和JSP结合起来 服务器的安装和配置 Servlet基础 web.xml in...

放个屁
2015/05/04
0
0
tomcat 5.5 部署项目报错 关于Filter的错误。。

我在tomcat7.0部署没不报错,但是再tomcat5.5就会报错。。 listener.ContextListener UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter logLevel WARN UrlRewriteFilte......

庄泽锐
2014/03/06
1K
5
Servlet基础

Servlet简介:Servlet是sun公司提供的一门用于开发动态web资源的技术,sun公司在API中提供了一个Servlet接口,用户若想完成一个动态web资源,需要完成以下两个步骤: ----1、编写一个Java类,...

晨曦之光
2012/05/16
231
0
开发出一个高质量的J2EE系统解析

首先说下, 这篇文章我觉得很强大,很给力,概念性的东西蛮多的,所以需要慢慢的去读,可以加深你对j2ee的理解和应用。值得大家阅读。 J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各...

dengzhangtao
2010/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

c++中友元函数理解与使用

在学习c++这一块,关于友元函数和友元类,感觉还是不好理解,但是井下心来,理解,需要把我一下几点。 首先讲友元函数。 (1)友元函数: 1)C++中引入友元函数,是为在该类中提供一个对外(除...

天王盖地虎626
25分钟前
0
0
OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
64
5
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
5
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
6
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部