① java中的MVC是什么
M是model(模型),V是view(视图),c是controler(控制器)。
不用MVC模式时,一般图省力,把需要生成的html代码写在Servlet的out.print()方法内,然后从生成的页面再跳进一个Servlet……这样就把M、V、C完全混到一块了。这样的优点是容易理解,也不用来回传参,但是可复用性差,修改时很困难,可读性差得可以。
用MVC时,V一般是jsP页面,负责用户交互界面,实现“显示”功能;C是Servlet,只负责读取表单参数并处理后,把不同结果贴在不同属性上,并根据结果传给不同的JSP页面,实现“控制”功能;M则是普通的可复用类,放在哪都能用的,一般用JavaSE就足够了,供Servlet调用。
这种方式主要是将M、V、C分离,提高可复用性、可读性和修改方便,但设计复杂,性能受损。
所以,理论上MVC适用于所有项目,但小系统、不常修改的系统可以不用MVC;而大的、硬件条件好的系统要用MVC,否则到维护时或者工作移交时,无比恶心的可维护性和可读性将是恶梦。
PS:举个例子,电脑管理系统。比如要查询电脑。先有一个JSP页面(V)让你输入电脑编号,然后提交表单后传给一个Servlet(C),它根据传进来的电脑号调用可复用类(M,比如数据库操作类,随便起个名:DbOperation)中的查询方法(比如doSearch()),返回一个查询结果,把这个结果帖在属性上传给负责结果显示的JSP页面(V),如果失败可以把出错信息传给负责出错提示的JSP页面(V),实现控制器的功能。
而那个DbOperation类则是可以复用的Java Bean,只要用得到,数据库名称、格式什么的一致,就可以在这个JavaEE项目上用,也可以在另一个JavaEE项目上用,还可以在一个JavaSE项目上用……
如果做成Web服务,则这个Java Bean就完全平台无关和语言无关了,可以在.NET项目上用。
② java servlet和mvc框架和rest的区别
一:Web Service基础知识
一个最简单web服务就一个web页面等待请求与处理。更容易理解的方式是Web
Service可以把专一个应用属变成一个基本WEB方式的请求与处理的应用。常见的两种
Web Service处理方式为:
a. 基于WSDL/SOAP的方式
b. Rest方式
方式a是比较正统的,客户端调用必须先取得WSDL文件,然后生成调用的API才可
以使用。它不是我要说的重点,基本调用流程如下:
方式b是Rest方式,Rest的Web Service的设计原则是基于CRUD,其支持四种操作分
别为:
GET – 获取信息/请求信息内容,绝大多数浏览器获取信息时使用该方式。
POST – 增加信息内容,显示以前的信息内容,可以看作是insert操作
PUT – 更新信息内容,相当与update
DELETE – 删除信息内容可以看作是delete
Rest方式更加简单便捷,如果从设计原则上看HTTP协议本身已经是最Restful风格的
协议了HTTP协议很好的支持了CRUD的操作。正是因为如此,WEB2.0以来, 基于
Restful的Web Service越来越多的成为首选。
③ SpringMVC中添加的Servlet是用来干什么的
SpringMVC中添加的Servlet是用来干什么的?最近在看SpringMVC部分,MVC通过java配置类重载onStartup方法来添加的Servlet,这个Servlet在实际开发中是做什么的? 我知道还能添加filter和listener,但是controller层和service层不是已经对数据进行处理了吗?那Servlet还能用来干嘛呢?
④ java springmvc+servlet
通过sql语句查询出一个集合,是因为里面有很多bean,我们只说一个bean,针对一个bean来说,你的数据查出来一堆数据,因为没有自动映射,是不会将b表里那个数据自己new B(数据)放里的,更不会自动A a = new A(); a.getB().setX(XX); 这样自动进去,除非你手动。
hibernate是全自动框架,就是帮助你映射,那么这里你可以不那么做,既然你不用全自动的。
按照ibatis的思想,或者说如今的MyBatis的思想,你实体bean里不要在封装那个对象的引用了,直接给类型就行,比如联合查出来的数据里有B表的三个字段,那就将三个字段类型当实体属性,然后查出来直接赋值,让他们就是一个类的属性。 这里你要记得一件事,有可能你只用过hibernate,所以就总想实体自动映射,实体只是用来传递数据的,表与表之间有关系,实体不一定要对着那样的关系创建,实体封装数据并传递而已。
⑤ javaweb 中 service servlet jsp 分别对应mvc中的哪个搞
jsp当然是表现层啦,就是数据层,service是业务逻辑层 servlet是控制层
⑥ Java Web的MVC模式是什么
MVC利用你说的三大框架 一般情况来说 M就是model 主要是servlet代码负责逻辑性的代码,回 V就是view主要是jsp代码显答示页面,c是control 主要是负责配置性的代码 如xxx.xml。
⑦ MVC!!!Java!!!JavaBean!!Servlet!!JSP!!!想用MVC传一个值到另
web有3个域可以存放资源,所谓域,就相当于一个树洞,你在这个页面把东西放进树洞,在另一个页面可以取出来,这三个域从小到大是,request域,session域,appliction域
⑧ 使用JSP、JavaBean和Servlet来开发MVC模式的Web
视图 为jsp
写个提交表单就行了,这里不多介绍
这个是Servlet
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
String account=request.getParameter("account");
String pwd=request.getParameter("password");
boolean stu= studentService.login(account,pwd);
if(stu)
{
这里跳转成功页面
}else
{
这里跳转错误页面
}
}
这个是Service
public boolean login(String account,String pwd)
{
String sql= "";
return login.login(account,pwd);
}
这个是javaben
private String account;
private String password;
public String getAccount() {
return this.account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
这里是层
public boolean login(String account,String pwd)
{
写连接数据库代码
}
mvc 就是 模型 视图 控制器
⑨ 请说出在web应用程序中jsp、Servlet、JavaBean 三者在MVC设计模式中的对应角色和作用.
jsp对应的是视图(view)做显示的,servlet对应controller做控制,javaBean对应mode
jsp发出请求,由servlet拦截,servlet判断该请内求需要做什么就调用相容应的方法处理,这个时候可能会用到mode里面的数据,就会用到javabean,当处理完成就可以得到处理结果,这个时候servlet再决定让那个视图(jsp)来显示。
⑩ 求jsp 与 java web,servlet,mvc、java bean关系... 谢了
javaweb是一个java语言的分支,也就是j2ee,servlet是java语言编写的运行类,而jsp本质也是servlet,只是他可以按照html方式编写,,而运行时转成java代码编译输出,java bean是一般的类,属性具有getter和setter方法,也就是读取设置方法,mvc是一种框架结构,即model(模型),view(试图),control(控制)。这个你可以学完servlet再学。。。最好java基础,html,servlet,jsp,,,然后再学框架方面的struts等等