servlet是用java语言编写的,是一个java类。主要功能是用来接受、处理客户端的请求,并把处理结果返回到客户端显示。Jsp是servlet发展后期的产物。在没有jsp之前,servlet利用输出流动态生成整个HTML页面,输出内容包括每一个HTML标签和每个在HTML页面中出现的内容。HTML文件包含大量标签和大量静态文本及格式等,以及所有的表现逻辑,包括布局、色彩及图像等。这些内容都必须耦合在java代码中,这样就导致servlet开发效率低下,令人不胜其烦。jsp出现后弥补了不足,因为jsp文件是通过在标准的HTML页面中插入java代码形成的。其静态的部分无需java程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,才使用java脚本控制。所以jsp技术出现后,主要用jsp文件来动态生成HTML文件,然后返回客户端显示。现在的servlet,当需要将整个页面作为结果返回时,不再由其自己去处理,而是调用jsp文件。

下面开发部署一个简单的servlet程序来展示:

1.创建处理请求的servlet文件:

package com.servlet.study;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class HelloWorldServlet extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

super.doGet(req, resp);

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

resp.setContentType("text/html;charset=UTF-8");

req.setCharacterEncoding("UTF-8");

String userName = req.getParameter("username");

String passWord = req.getParameter("password");

PrintWriter out = resp.getWriter();

out.print("");

out.print("

");

out.print("

Helloworld");

out.print("");

out.print("

");

out.print("


");

out.println("The username is "+userName);

out.println("The password is "+passWord);

out.print("");

out.print("");

}

}

2.创建HTML文件:

用户登录页面

登录系统


//表单的action其实指明了servlet的url

用户名
密码

3.在web.xml中配置servlet:

HelloWorldServlet

com.servlet.study.HelloWorldServlet//实现类4

//映射

HelloWorldServlet

/helloworld_servlet//“/”是必须的

注:]servlet类必须继承HttpServlet类,而且得重写doGet、doPost方法,并创建out对象。doGet方法是HttpServlet类中处理get请求的方法,doPost处理post请求。在表单中声明method,并在servlet类中编写相对应方法即可,本例特为post请求。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

java与jsp的关系_浅谈servlet与jsp的关系相关推荐

  1. 简述相关与回归分析的关系_浅谈相关分析与回归分析的关系

    浅谈相关分析与回归分析的关系 郝依寒 [期刊名称] <数字通信世界> [年 ( 卷 ), 期] 2018(000)004 [摘要] 本文以回归分析及回归分析的应用为对象做出简要论述 , 通 ...

  2. java方法区对象类型_浅谈Java内存区域与对象创建过程

    一.java内存区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则 ...

  3. java中单例的应用_浅谈Java中单例模式的几种应用

    目录 浅谈Java中单例模式的几种应用 第一种:懒汉式 第二种:饿汉式 第三种:双重检索式 第四种:注册登记式 第五种:内部类形式 浅谈Java中单例模式的几种应用 日常开发中,为了提高我们系统中对象 ...

  4. java的向下转型_浅谈Java向下转型的意义

    一开始学习 Java 时不重视向下转型.一直搞不清楚向下转型的意义和用途,不清楚其实就是不会,那开发的过程肯定也想不到用向下转型. 其实向上转型和向下转型都是很重要的,可能我们平时见向上转型多一点,向 ...

  5. 浅谈servlet与jsp的关系

    servlet是用java语言编写的,是一个java类.主要功能是用来接受.处理客户端的请求,并把处理结果返回到客户端显示.Jsp是servlet发展后期的产物.在没有jsp之前,servlet利用输 ...

  6. java socket 异步回调函数_浅谈socket同步和异步、阻塞和非阻塞、I/O模型

    原标题:浅谈socket同步和异步.阻塞和非阻塞.I/O模型 在进行网络编程时,常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式 同步/异步主要针 ...

  7. Java hibernate假外键_浅谈hibernate急迫加载问题(多重外键关联)

    数据库结构如下 strategy中有外键member_id(关联member表)外键strategy_category(关联category表)而member表中有外键position_id(关联po ...

  8. 浅谈Servlet与JSP

    前言 提高Java Web 开发,不得不说http协议,接下来就说Servlet 和 Jsp 这两个java类. 正文 1.什么是JSP? JSP(Java Server Pages)是Sun 公司指 ...

  9. php和java的区别菜鸟教程_浅谈Java和PHP的主要区别

    当谈到PHP与Java的差异性问题时,更多的是回答初学者的一些疑问.对于刚接触IT的同学来说,他们需要做好对未来职业的选择.所以是选择PHP还是选择Java更有利于自身的技术特点和发展前景.所以在解决 ...

最新文章

  1. MOOON-server新消息处理接口
  2. 线程VS进程,多线程VS多进程,并行VS并发,单核cpuVS多核cpu
  3. oracle基础建表
  4. fedora 20   无法打开wifi
  5. Maven项目错误解决小结
  6. 计算机应用头部案例提交,基于头部位置的应用程序放置的制作方法
  7. c语言非法字符判别,98行的四则计算器.(支持括号)加入了非法字符的检测
  8. CTS(11)---android自动化测试CTS源码分析之一
  9. centos7开放80端口_Centos7.4系统 httpd模式搭建文件服务器
  10. 【python】字符串的操作与方法、元组的定义与操作
  11. oppor829t如何刷机_OPPO R829T卡刷刷机图文教程
  12. 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)
  13. React简介--尚硅谷react全家桶笔记总结
  14. 【沃顿商学院学习笔记】宏观经济学——11全球治理Global Governance
  15. Graphics.FromImage报错“Graphics object cannot be created from an image that has an indexed pixel ...”
  16. 数据结构之线索二叉树详细解释
  17. C语言:马克思手稿中的数学题
  18. 设计完美的PCB,这些细节要注意
  19. 【五音疗疾】百病始于气而止于音
  20. 机械革命台式计算机,机械革命

热门文章

  1. 3 描述android的组件,Android基础------Intent组件
  2. Android开发 ——线性布局文件、TextView、ListView的基本写法
  3. mac 电脑 eclipse 启动停在 org.eclipse.debug.core 导致无法启动
  4. ready to study design pattern
  5. Python数据分析Numpy库方法简介(一)
  6. [翻译]HTTP: Response Code
  7. RabbitMQ使用代码示例
  8. C#中的volatile关键字
  9. lnmp之PDO_mysql.so
  10. html5判断用户摇晃了手机(转)