JSP

客户端发出Request请求,JSP容器将JSP转译为Servlet的源码,再编译加载到内存执行,结果Response到客户端。

Request->JSP->Servlet(java)->class(.class)->Servlet instance->Response

页头第一行

<%@page import="com.xxx.xxx.类"%>

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

Html中插入JSP小脚本

<%

//Java代码

%>

注释:

<!--html注释 -->

<%--JSP注释-->

<%

//Java注释

/*Java多行注释*/

%>

JSP内置对象(request,response,session,out,application,pageContext,page,config,exception):

在<% %>中使用的,内置对象(先声名了,直接使用)

<%

out.println("xxx");

Map name=request.getParameterMap("xxx");

response.sendRedirect("/xxx.jsp");

String st=exception.getMessage();

%>

Servlet

WebServer编译JSP为Servlet,执行Servlet,将JSP的HTML标记交给客户端浏览器执行,将JSP内容(指令,标记,声名,代码段,表达式)服务器处理,再将结果给到客户端浏览器。

Eclipse (简单登陆)

1.New->Dynamic Web Project

2.New->login.jsp,pass.jsp,fail.jsp

3.New->Servlet->Java package:com.test /Class name:Login/superclass:javax.servlet.http.HttpServlet (default)

->URL Mappings:/Login (default) ->Which method ..create?

Constructors form superclass(default)

Inherited abstract methods(default)

doPost(default)

doGet(default)  //Servlet中处理用户的请求为doGet()方法或doPost()方法,当用户发送请求(post/get)由Web容器自动分配时,系统将自动调用对应的方法,所以Servlet中,doPost方法调用了doGet方法,达到一致的处理。

login.jsp

<form action="Login" method="post">
<input type="text" name="uname"/>
<br/>
<input type="password" name="upassword"/>
<br/>
<input type="submit" value="submit">
</form>

Login.java (com.test.Login)

protected void doGet(HttpServletRequest request, HttpServletResponse response){ //方法自动生成

String name=request.getParameter("uname");
String password=request.getParameter("upassword");
RequestDispatcher rd =null;
if ("test".equals(name)&&("123".equals(password))){
rd=request.getRequestDispatcher("pass.jsp");
}else{
rd=request.getRequestDispatcher("fail.jsp");
}
rd.forward(request, response);

}

web.xml

<servlet>   //自动生成
<description></description>
<display-name>Login</display-name>
<servlet-name>Login</servlet-name>
<servlet-class>com.test.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/Login</url-pattern>
</servlet-mapping>

Java学习05 (第一遍) - JSP与Servlet的更多相关文章

  1. Java学习06 (第一遍) - JSP与Servlet

    EL(Expression Language) <% User user=(User)session.getAttribute("user"); Dept dept=user ...

  2. Java学习08 (第一遍) - SpringMVC

    写一下午的好多居然丢失...自动保存也只是保存丢失后的 那就不多写了,简单写: Spring:(自己画的) 官网的: 写一个Spring的例子: Eclipse http://repo.spring. ...

  3. Java学习07 (第一遍) - Spring MVC

    跳过Struts2,直接学习Spring MVC MVC,自己画的 属性(Property/Attribute),事件(Event),方法(method/procedure),函数(Function) ...

  4. Java学习04 (第一遍)

    封装.抽象.继承和多态.封装:在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,sex,age等属 ...

  5. Java学习03 (第一遍)

    Java是面向对象的语言,函数是面向过程语言的叫法,比如C语言,在Java中一般称之为方法. 构造方法的作用是实例化对象,每个类中都有,即使不写程序也会分配一个默认无参数的构造方法. Java中都是对 ...

  6. Java学习01 (第一遍)

    java se - 桌面 java ee - 网页 Jdk :Jre 区别Jdk-开发环境必要Jre-运行环境需要Jdk包含Jre,安装完Jdk就可以了 Javac Demo1.java-Javac ...

  7. Java学习02 (第一遍)

    巩固基础: byte 1个字节 -128到127 = 2^(字节数*8-1),转变2进制,01111111(负127)到11111111(正127) ,存在正负零(00000000),正零保留,负零补 ...

  8. Java 学习笔记 ------第一章 Java平台概论

    本章学习目标: Java版本迁移简介 认识Java SE.Java EE.Java ME 认识JDK规范与操作 了解JVM.JRE与JDK 下载与安装JDK 一.Java版本迁移简介 书上已经表达得非 ...

  9. Java学习记录第一章

    学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...

随机推荐

  1. cocos源码分析--Sprite绘图原理

    精灵是2D游戏中最重要的元素,可以用来构成游戏中的元素,如人物,建筑等,用Sprite类表示,他将一张纹理的一部分或者全部矩形区域绘制到屏幕上.我们可以使用精灵表来减少OpenGL ES 绘制的次数, ...

  2. KafkaAPI实战

    新旧API使用 Flume和Kafka集成: Kafka有两套API: 过时的API 和新API 准备工作 <dependencies> <dependency> <gr ...

  3. Java - 22 Java 多态

    Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态性是对象多种表现形式的体现. 比如我们说"宠物"这个对象,它就有很多不同的表达或实现,比如有小猫.小狗.蜥蜴 ...

  4. 你创建的OpenStack高性能虚拟机能实现“零损耗”么?

    使用默认参数创建的虚拟机,虚拟机的VCPU在物理CPU不同核心之间动态调度,另外,由于Linux还可能会将软中断,内存交换等进程调度到虚拟机正在使用的物理核心上,这些因素导致这些虚拟机相对于物理机的计 ...

  5. 动态添加布局、动态添加View、LinearLayout动态添加View;

    LinearLayout提供了几个方法,用作动态添加View特别好用: 可以添加View.删除View.删除指定位置View.删除全部View: 看代码: public class MainActiv ...

  6. .NET Core和.NET Standard

    作为.NET家族的最新成员,有很多关于.NET Core和.NET Standard的误解,以及它们于.NET Framework之间的区别.在这篇文章,我会准确的解释他们究竟是什么,并看看何时应选择 ...

  7. 让MySql支持表情符号(MySQL中4字节utf8字符保存方法)

    UTF-8编码有可能是两个.三个.四个字节.Emoji表情是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去. 解决方案:将编码从utf8转换成utf8mb4. 1. 修改my.in ...

  8. JQ获取地址栏参数

    //获取地址栏参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + " ...

  9. jvm 内存分配 (转)

    深入理解JVM—JVM内存模型  http://www.cnblogs.com/dingyingsi/p/3760447.html 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区 ...

  10. spring boot 下载