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. (转)OpenSystemArchitect - 根据数据库表逆向生成数据模型

    原文地址:http://www.cnblogs.com/zhaojin/archive/2011/04/14/2016478.html OpenSystemArchitect - 根据数据库表逆向生成 ...

  2. HBase分布式集群部署与设计

    先是把cdh版本的hbase上传上来 把安装吧的权限设置一下 解压 把没用的东西干掉 hbase的官网 配置文件 到hbase-site.xml 下面我不基于HA配置了 把hbase分发到其他两个节点 ...

  3. json与bson的区别

    bson是由10gen开发的一个数据格式,目前主要用于mongoDB中,是mongoDB的数据存储格式.bson基于json格式,选择json进行改造的原因主要是json的通用性及json的schem ...

  4. day19常用模块2

    常用模块21 shelve模块  也是一种序列化方式    使用方法        1.open     sl = shelve.open("shelvetest.txt")   ...

  5. 《C++数据结构-快速拾遗》 树结构

    1.简单的二叉树结构 #include <iostream> using namespace std; typedef int DATA; //建立二叉树的简单结构 typedef str ...

  6. IDEA下载Git中项目

     一.             打开idea,点击File>Settings,搜索git(安装系统默认设置即可) 二.        选择git 三.        Git中项目的路径粘贴到ID ...

  7. angularjs数据交互

    异步问题ajax异步请求数据完数据后给$scope赋值的时候需要检查$scope的数据更新没有.要不然无法绑定数据. <!DOCTYPE html> <html ng-app=&qu ...

  8. ant编译时提示一大堆软件包不存在的问题

    ant编译时提示一大堆软件包不存在的问题  解决方案: 把项目的 lib 里的jar包 放的 jdk的jre的ext的目录下 例如 java home 是 D:JavaEEJavajdk1.8.0_1 ...

  9. springBoot属性配置和使用

    Spring Boot 属性配置和使用 1.添加属性文件 application.properties (名字固定) 2.访问端口生效 3.更多配置参考 # ===================== ...

  10. 20.纯 CSS 为母亲节创作一颗像素画风格的爱心

    原文地址:https://segmentfault.com/a/1190000014837536 感想: 网格grid 又来了: fr : (剩余空间长度)单位, 1.当(50px,nfr),nfr代 ...