Java学习05 (第一遍) - JSP与Servlet
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的更多相关文章
- Java学习06 (第一遍) - JSP与Servlet
EL(Expression Language) <% User user=(User)session.getAttribute("user"); Dept dept=user ...
- Java学习08 (第一遍) - SpringMVC
写一下午的好多居然丢失...自动保存也只是保存丢失后的 那就不多写了,简单写: Spring:(自己画的) 官网的: 写一个Spring的例子: Eclipse http://repo.spring. ...
- Java学习07 (第一遍) - Spring MVC
跳过Struts2,直接学习Spring MVC MVC,自己画的 属性(Property/Attribute),事件(Event),方法(method/procedure),函数(Function) ...
- Java学习04 (第一遍)
封装.抽象.继承和多态.封装:在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,sex,age等属 ...
- Java学习03 (第一遍)
Java是面向对象的语言,函数是面向过程语言的叫法,比如C语言,在Java中一般称之为方法. 构造方法的作用是实例化对象,每个类中都有,即使不写程序也会分配一个默认无参数的构造方法. Java中都是对 ...
- Java学习01 (第一遍)
java se - 桌面 java ee - 网页 Jdk :Jre 区别Jdk-开发环境必要Jre-运行环境需要Jdk包含Jre,安装完Jdk就可以了 Javac Demo1.java-Javac ...
- Java学习02 (第一遍)
巩固基础: byte 1个字节 -128到127 = 2^(字节数*8-1),转变2进制,01111111(负127)到11111111(正127) ,存在正负零(00000000),正零保留,负零补 ...
- Java 学习笔记 ------第一章 Java平台概论
本章学习目标: Java版本迁移简介 认识Java SE.Java EE.Java ME 认识JDK规范与操作 了解JVM.JRE与JDK 下载与安装JDK 一.Java版本迁移简介 书上已经表达得非 ...
- Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
随机推荐
- cocos源码分析--Sprite绘图原理
精灵是2D游戏中最重要的元素,可以用来构成游戏中的元素,如人物,建筑等,用Sprite类表示,他将一张纹理的一部分或者全部矩形区域绘制到屏幕上.我们可以使用精灵表来减少OpenGL ES 绘制的次数, ...
- KafkaAPI实战
新旧API使用 Flume和Kafka集成: Kafka有两套API: 过时的API 和新API 准备工作 <dependencies> <dependency> <gr ...
- Java - 22 Java 多态
Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态性是对象多种表现形式的体现. 比如我们说"宠物"这个对象,它就有很多不同的表达或实现,比如有小猫.小狗.蜥蜴 ...
- 你创建的OpenStack高性能虚拟机能实现“零损耗”么?
使用默认参数创建的虚拟机,虚拟机的VCPU在物理CPU不同核心之间动态调度,另外,由于Linux还可能会将软中断,内存交换等进程调度到虚拟机正在使用的物理核心上,这些因素导致这些虚拟机相对于物理机的计 ...
- 动态添加布局、动态添加View、LinearLayout动态添加View;
LinearLayout提供了几个方法,用作动态添加View特别好用: 可以添加View.删除View.删除指定位置View.删除全部View: 看代码: public class MainActiv ...
- .NET Core和.NET Standard
作为.NET家族的最新成员,有很多关于.NET Core和.NET Standard的误解,以及它们于.NET Framework之间的区别.在这篇文章,我会准确的解释他们究竟是什么,并看看何时应选择 ...
- 让MySql支持表情符号(MySQL中4字节utf8字符保存方法)
UTF-8编码有可能是两个.三个.四个字节.Emoji表情是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去. 解决方案:将编码从utf8转换成utf8mb4. 1. 修改my.in ...
- JQ获取地址栏参数
//获取地址栏参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + " ...
- jvm 内存分配 (转)
深入理解JVM—JVM内存模型 http://www.cnblogs.com/dingyingsi/p/3760447.html 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区 ...
- spring boot 下载