原文 链接 http://blog.csdn.net/iojust/article/details/52429805 -


———热情依旧


- 环境搭建:

- jdk环境配置

  • jdk下载:

    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  • 安装完成后,系统属性->环境变量->系统变量新建JAVA_HOME,变量值为安装路径,如图

    -
  • 系统属性里找到path属性,编辑,在后面加 ;%JAVA_HOME%\bin;

    -

  • 用户变量里新建CLASSPATH,变量值.

    -;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

    -

  • 配置完成后,windows+r运行输入“cmd”,输入java,javac,java -version(ps:java和-version中有空格),分别出现对应信息,则配置成功。

    -

    -

    -

  • -

- Tomcat环境配置

  • Tomcat:TomcatTomcat是一个实现了JAVA EE标准的最小的WEB服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且开源免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。学习JavaWeb开发一般都使用Tomcat服务器,该服务器支持全部JSP以及Servlet规范

  • 下载:http://tomcat.apache.org(ps:下载时候可以直接下载zip格式,免安装,解压即可)

    -文件夹如下:

    • bin ——Tomcat启动关闭的脚本目录

      conf ——Tomcat配置文件

      lib ——-Tomcat运行需要的库文件(JARS)

      logs ——Tomcat执行时的日志文件

      temp ——Tomcat运行时临时文件

      webapps ——Tomcat的主要Web发布目录(存放我们自己的JSP,SERVLET,类)

      work ——Tomcat的工作目录,Tomcat将翻译JSP文件到的Java文件和class文件放在这里。
  • 启动Tomcat服务

    方法两种:

    1,方法一:在CMD命令下输入命令:startup。

    2,方法二:右键点击桌面上的“我的电脑”->“管理”->“服务和应用程序”->“服务”,找到“Apache Tomcat”服务,右键点击该服务,选择“属性”,将“启动类型”由“手动”改成“自动”。

  • 测试Tomcat

    打开浏览器,在地址栏中输入http://localhost:8080,出现如下界面,成功。

- jsp基础学习:

- JSP表达式

JSP脚本表达式(expression)用于将程序数据输出到客户端

  语法:<%= 变量或表达式 %>

  举例:输出当前系统时间:

<%= new java.util.Date() %>

 JSP脚本表达式中的变量或表达式后面不能有分号(;)

- JSP脚本片断

 JSP脚本片断(scriptlet)用于在JSP页面中编写多行Java代码。语法:

    <%

    多行java代码

    %>

  在<% %>中可以定义变量、编写语句,不能定义方法。

范例:

    <%
int a = 2;
int b = 4;
int c = a + b;
%>
a+b=<%=c%>

- JSP注释

在JSP中,注释有两大类:

显式注释:直接使用HTML风格的注释:<!- - 注释内容- ->
隐式注释:直接使用JAVA的注释://、/*……*/
JSP自己的注释:<%- - 注释内容- -%>

区别

> <!--这个注释可以看见-->
>
> <%
> //JAVA中的单行注释
>
> /*
> JAVA中的多行注释
> */ %>
>
> <%--JSP自己的注释--%>

- JSP指令

JSP 2.0规范中共定义了三个指令:

  • page指令
  • Include指令
  • taglib指令

JSP指令的基本语法格式:

<%@ 指令 属性名=”值” %>

|-page指令(页面属性);
|-include指令(类似于 C语言 define);
|-taglib指令(引入核心标签库): taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"

- 九大内置对象

page,request,session,application在作用域处记录

  • out对象:

    out对象是通过调用pageContext对象的getOut方法返回的,其作用和用法与ServletResponse.getWriter方法返回的PrintWriter对象非常相似。

  • pageContext对象:

    pageContext 对象的作用是取得任何范围的参数,通过它可以获取

    JSP页面的out、request、reponse、session、application

    等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。

  • 通过pageContext获得其他对象

    • getException方法返回exception隐式对象
    • getPage方法返回page隐式对象
    • getRequest方法返回request隐式对象
    • getResponse方法返回response隐式对象
    • getServletConfig方法返回config隐式对象
    • getServletContext方法返回application隐式对象
    • getSession方法返回session隐式对象
    • getOut方法返回out隐式对象
  • response对象:

    代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。

  • config 对象

    config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig()

    方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。

    开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。

  • exception 对象

    exception 对象的作用是显示异常信息,只有在包含 isErrorPage=”true”

    的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception

    对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况;

    如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception

    对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。

- JSP属性作用域

当前页 page:


     一个属性只能在一个页面中取得,跳转到其他页面无法取得

一次服务器请求 request:


     一个页面中设置的属性,只要经过了服务器跳转,则跳转之后的页面可以继续取得。

一次会话 session:


     一个用户设置的内容,只要是与此用户相关的页面都可以访问(一个会话表示一个人,这个人设置的东西只要这个人不走,就依然有效)

上下文中 application:


     在整个服务器上设置的属性,所有人都可以访问

- EL表达式

1、获取数据

  EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。

  使用EL表达式获取数据语法:

“${标识符}”

分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,

找不到则返回”” (ps:不是null,而是空字符串)。

2、执行运算

  利用EL表达式可以在JSP页面中执行一些基本的运算。

  1、关系运算符:

  2、逻辑运算符:



  3、empty运算符:检查对象是否为null(空)

  

  4、二元表达式:${user!=null?user.name :”“}

  

  5、[ ] 和 . 号运算符

  

3、获取web开发常用对象

  EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据。

 语法:${隐式对象名称}:获得对象的引用

序号 隐含对象名称 描       述
1 pageContext 对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。)
2 pageScope 代表page域中用于保存属性的Map对象
3 requestScope 代表request域中用于保存属性的Map对象
4 sessionScope 代表session域中用于保存属性的Map对象
5 applicationScope 代表application域中用于保存属性的Map对象
6 param 表示一个保存了所有请求参数的Map对象
7 paramValues 表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]
8 header 表示一个保存了所有http请求头字段的Map对象,注意:如果头里面有“-” ,例Accept-Encoding,则要header[“Accept-Encoding”]
9 headerValues 表示一个保存了所有http请求头字段的Map对象,它对于某个请求参数,返回的是一个string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]
10 cookie 表示一个保存了所有cookie的Map对象
11 initParam 表示一个保存了所有web应用初始化参数的map对象

- JavaBean

- 什么是JavaBean

JavaBean是一个遵循特定写法的Java类,它通常具有如下特点

- 这个Java类必须具有一个无参的构造函数

- 属性必须私有化。

- 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。

javaBean范例:

public class UserBean {

    // ------------------UserBean私有属性---------------------------------------

    private String uesrname;

    private String password;

    private String sex;

    private int age;
// --------------------------------------------------------- // ------------------UserBean无参数构造方法---------------------------------------
/**
* 无参数构造方法
*/
public UserBean() { }
// --------------------------------------------------------- // ------------------UserBean对外提供的用于访问私有属性的public方法---------------------------------------
public String getUesrname() {
return uesrname;
} public void setUesrname(String uesrname) {
this.uesrname = uesrname;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} }

- 在JSP中使用JavaBean

  JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为:

- 标签:用于在JSP页面中查找或实例化一个JavaBean组件。

- 标签:用于在JSP页面中设置一个JavaBean组件的属性。

- 标签:用于在JSP页面中获取一个JavaBean组件的属性。

- Servlet

- Servlet简介

  Servlet是sun公司提供的一门用于开发动态web资源的技术。

  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:

  1、编写一个Java类,实现servlet接口。

  2、把开发好的Java类部署到web服务器中。

  按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet.

- Eclipse创建和编写Servlet

这里引用一下图片

- 核心标签库

JSTL的核心标签库标签共13个,使用这些标签能够完成JSP页面的基本功能,减少编码工作。

  从功能上可以分为4类:表达式控制标签、流程控制标签、循环标签、URL操作标签。

    (1)表达式控制标签:out标签、set标签、remove标签、catch标签。

    (2)流程控制标签:if标签、choose标签、when标签、otherwise标签。

    (3)循环标签:forEach标签、forTokens标签。

    (4)URL操作标签:import标签、url标签、redirect标签、param标签。

  在JSP页面引入核心标签库的代码为:

  <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

  

引用菜鸟教程↓

  

  

- 学习总结

  • 本次实践课,因为各方面原因,学习时间较短,但是仍然受益匪浅,通过老师的讲解,可以避免走很多弯路,并且在接下来的学习中,帮助能够做到“修行在个人”,让我们对于web开发有了了解和兴趣,激励我们自主探讨和研究。

javaweb初学记录的更多相关文章

  1. JavaWeb问题记录——SessionIdGeneratorBase.createSecureRandom

    JavaWeb问题记录——SessionIdGeneratorBase.createSecureRandom 摘要:本文主要记录了在启动Tomcat时,出现的一个警告以及解决办法. 部分内容来自以下博 ...

  2. JavaWeb问题记录——在Windows上启动Tomcat后命令行窗口乱码

    JavaWeb问题记录——在Windows上启动Tomcat后命令行窗口乱码 摘要:本文主要记录了在Windows上启动Tomcat后,命令行窗口出现乱码的问题及解决办法. 问题重现 在Windows ...

  3. #C++初学记录(sort函数)

    sort函数 前言:当进行贪心算法的学习时,需要用到sort函数,因为初学c++汇编语言,sort的具体用法没有深入学习,所以这里进行sort学习记录并只有基础用法并借用贪心算法题目的代码. 百度百科 ...

  4. JavaWeb学习记录(十四)——商城购物之字符串拼接实现最近浏览商品和购物车的功能

    一.字符串拼接的工具类 package blank.util; import java.util.Iterator;import java.util.Map;import java.util.Set; ...

  5. JavaWeb学习记录(七)——MVC操作数据库增删改查与分页功能

    一.分页工具类 package blank.util;import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; ...

  6. #C++初学记录(算法4)

    A - Serval and Bus It is raining heavily. But this is the first day for Serval, who just became 3 ye ...

  7. #C++初学记录(动态规划(dynamic programming)例题1 钞票)

    浅入动态规划 dynamic programming is a method for solving a complex problem by breaking it down into a coll ...

  8. JavaWeb开发记录全过程--(1)环境配置

    一. 开发工具:idea 理由:根据idea 如何连接服务器,可以直接在idea上连接服务器 安装:根据IntelliJ IDEA 下载安装(含注册码),进行非常规手段使用idea 二.分析问题: # ...

  9. javaweb学习记录(1)

    Java基础学习笔录 1.运行java程序,出现bad version number in.class file 编译器()的版本号高于运行环境(jre)的版本号,可以降低编译器版本号,也可以通过提升 ...

随机推荐

  1. 实现放大转场动画 from cocoachina

    原文1:http://www.cocoachina.com/ios/20160318/15714.html 原文2:http://ningandjiao.iteye.com/blog/2049105 ...

  2. xposed XDA记录

    [OFFICIAL] Xposed for Lollipop/Marshmallow [Android 5.0/5.1/6.0, v86, 2016/10/31] http://forum.xda-d ...

  3. 循环冗余码crc

    待编码的有效信息组多项式:M(x) 生成多项式(产生校验码的多项式):G(x) 余数多项式:R(x) 商:Q(x) 生成多项式是四次的,所以某个多项式除以生成多项式的余式肯定是三次的,所以要加四位00 ...

  4. 值得推荐的C/C++框架和库

    值得推荐的C/C++框架和库 [本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看 ...

  5. c/c++的Soap应用

    1. 关于soap 在许多项目中团队中,我们常常会听到这样的话:我们这里是用webservice交互的.而说话的场景往往就是交互对象双方比较异构,所谓异构.即双方是不同的开发语言.不同的运行环境等.比 ...

  6. CentOS下yum安装LAMP

    1. 用yum安装Apache,Mysql,PHP. 1.1安装Apache yum install httpd httpd-devel 安装完成后,用/etc/init.d/httpd start  ...

  7. SpringMVC中如何在网站启动、结束时执行代码(详细,确保可用)

        在一个网站启动.结束时,我们经常有些操作是需要执行的. 熟悉Asp.net的朋友,使用Global.asax很容易就搞定,在其中有Application_Start和Application_E ...

  8. net-force.nl/programming writeup

    从 wechall.net 到 net-force.nl 网站,发现网站的内容不错,里面也有不同类型的挑战题目:Javascript / Java Applets / Cryptography / E ...

  9. TextInputLayout的注意事项

    1.依赖文件build.gradle 加入 compile 'com.android.support:design:23.4.0'compile 'com.marlonmafra.android.wi ...

  10. 【MySQL】 查询某个数据库有多少张数据表

    SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = 'performanc ...