J2EE学习笔记(一)

零碎的记录一些重要但容易遗忘的point,感觉上帝就没给我点这个记忆力的技能……

$. WEB-INF目录详解
WEB-INF目录客户端无法访问,只有服务器可以访问;
classes文件夹,放置.class文件;
lib文件夹,放置项目需要的jar包;
web.xml,项目部署文件;

$. web.xml中配置首页(直接url项目名称就能打开的页面)

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

$.修改MyEclipse默认的JRE
windows - preferences - java - installed JREs

$.修改MyEclipse默认的Tomcat
windows - preferences - MyEclipse - server - Tomcat - Tomcat Home Directory;
并修改对应的JDK;

$.修改项目虚拟路径
项目右键 - MyEclipse - web - Web Context-root

$.修改Tomcat默认端口
conf/server.xml

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

$.JSP页面组成
指令;表达式;小脚本;声明;注释;静态内容

$.JSP指令:page
language,JSP指定的脚本语言;
import,JSP中用到的类文件;
contentType,编码方式;
典型值:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%>

$.请求重定向与请求转发的区别:
请求重定向:
response.sendRedirect(url); 本质上讲等于两次请求,前一次的请求对象不会保存,地址栏的URL会改变。
A去找B办事,B让A自己去找C。
请求转发:
request.getRequestDispatcher().foward(req, res); 一次请求,转发后对象会保存,地址栏URL不变。
A去找B办事,B让A等着,自己去找C,办完后B把结果返回给A。

$.JSP基础语法
1.注释

HTML注释:<!-- --> 客户端查看源码时可见
JSP注释:<%-- --%> 客户端查看源码时不可见

2.脚本

<% 
    out.println("Hello world"); 
%>

3.声明

<%!
    String s = "Hello world";
    int add(int a, int b)
    {
        return a + b;
    }
%>

4.表达式(注意,表达式不以分号结尾)

<body>
<%!
    String s = "Hello world";
    int add(int a, int b)
    {
        return a + b;
    }
%>
x + y = <% = add(10, 5) %><br>
你好,<% = s %><br>
</body>

5.生命周期

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

<head>
    <title>life.jsp</title>
</head>

<body>

    <%!
        private int initVar = 0;
        private int serviceVar = 0;
        private int destroyVar = 0;
    %>

    <%!
        public void jspInit()
        {
            initVar++;
            System.out.println("jspInit(): JSP被初始化了" + initVar + "次");
        }

        public void jspDestroy()
        {
            destroyVar++;
            System.out.println("jspDestroy(): JSP被销毁了" + destroyVar + "次");
        }
    %>

    <%
        serviceVar++;
        System.out.println("_jspService(): JSP共响应了" + serviceVar + "次请求");

        String content1 = "初始化次数 : " + initVar;
        String content2 = "响应客户请求次数 : " + serviceVar;
        String content3 = "销毁次数 : " + destroyVar;
    %>

    <h1>JSP生命周期测试</h1>
    <p><%=content1%></p>
    <p><%=content2%></p>
    <p><%=content3%></p>

</body>

</html>

这里写图片描述

$.解决中文乱码
标准方法:
修改Tomcat的server.xml文件,增加下面的URIEncoding

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8"/>

简单方法:

<% request.setCharacterEncoding("UTF-8"); %>//只能解决post方式的请求

$.JSP内置对象(不需要new就可以使用)
1.out对象(JspWriter)
这里写图片描述

2.request对象
这里写图片描述
这里写图片描述

3.response对象
这里写图片描述
PrintWriter的输出优先于out对象的输出,除非out对象先flush

4.session对象
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

5.application对象
这里写图片描述
这里写图片描述

6.page对象
这里写图片描述

7.pageContext对象
这里写图片描述
这里写图片描述

8.config对象
这里写图片描述

9.exception对象
这里写图片描述
在需要跳转的页面中的<%@ page %>中配置errorPage属性
在错误页中的<%@ page %>中配置isErrorPage属性为true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值