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语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
随机推荐
- Distributed traceability with Spring Cloud: Sleuth and Zipkin
I. Sleuth 0. Concept Trace A set of spans that form a call tree structure, forms the trace of the re ...
- vue使用animate.css库
//引入库 <link rel="stylesheet" type="text/css" href="animate.css"> ...
- python项目入门之 安装、创建
3年前接触python,那时候还是文本格式进行学习,但是由于一直没有项目实践,所以就搁浅了 今天,python如火如荼,适用于人工智能等多领域,已经成为了语言界的翘楚 python有非常多的优点,开源 ...
- day6--二分查找法
二分查找法 我们在使用一个列表的时候,往往需要找到一个元素的位置也就是它的索引,按照一般的情况,肯定是一个一个的找过去,元素多了就是一件麻烦事.. 后来就引进了一个概念:二分查找法 它是根据情况将数据 ...
- 什么是事务、事务特性、事务隔离级别、spring事务传播特性
1.什么是事务: 事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败). 2.事务特性: 事务特性分为四个:原子性(At ...
- django-chunks文件
with open(file_save_path, 'wb') as f: for chunk in file_content.chunks(): f.write(chunk)
- <转>如何用C++实现自动微分
作者:李瞬生转摘链接:https://www.zhihu.com/question/48356514/answer/123290631来源:知乎著作权归作者所有. 实现 AD 有两种方式,函数重载与代 ...
- C++动态时间显示
#include <iostream> #include<stdlib.h> #include<windows.h> #include<string> ...
- 又见 tomcat启动startup.bat一闪而过
startup.bat启动的时候,一闪而过,停止, 没有提示信息,错误信息,没有任何log... 后面在 startup.bat. catalina.bat 最后 加入 pause. 也看不到结果.. ...
- hive表命名规范 源码规则
tablename 进来前已经把"`","."等过滤掉了,所以就是单词字符喽 \w搞定 \w包含_ 哈哈 规范就是 a-z A-Z 0-9 _ 也就是传说中的单 ...