.jsp 读取txt 页面_使用eclipse快速开发jsp以及编码问题、jsp页面元素、request对象学习的粗略记录...

1ab20aa88ea52d45a0cc900021b93c41.png

人老了真是什么都会忘记啊orz,早上发现学过去的东西好多都还没记录复盘... ...(懒虫作祟)

在开始之前,俺认为还是很有必要了解一下jsp的执行流程,俺发现CSDN上的“陈小哥cw”这个作者写滴就很全面,直接去他滴博文里边找“jsp的执行流程”这篇文章就可以啦~

---------------------------------------------------------------------------------------------

以下是前段时间学习内容粗略记录:

一、使用eclipse快速开发jsp

(一)关于配置Tomcat运行时的环境

1、先将Tomcat目录下lib目录下的servlet的jar包复制到项目内部的java Resources中的src目录下,在右键这个jar包进行添加到内路径(add to build path )

(不过这个方法不常用,也可以运用第二种方式,不过用第二种方式之前先将已经搭建好的servlet路径删除一下,右键已经添加好的文件remove一下,再回到src目录下删除jar包)

2.右键项目->Build Path->Add library->Server Runtime

(第一种方式加了一个jar包,第二种方式增加了所有的jar包)

(二)利用eclipse快速开发jsp

1、创建项目:首先在菜单栏new一个project,选择web->new dynamic web project(一定要选择这个哦,这个是动态网页,也就是说会存在前后端交互的过程)

2、项目选项:在弹出来的窗口输入项目名称就可以喽,再往下会有一个Dynamic web module version选项如下图所示,我一般选择3.0

0dddae2217e78078d0de1e849622e90d.png

(在这里得提一点,开发时新建的web项目内,web module的版本一般只选择3.0或者2.5,这是servlet的版本)

然后一路Next,到最后一个页面,要记得勾选上web.xml文件哦,如下图所示

fa1381b390238826d19caaaee15549a7.png

3、新建jsp文件:在TestProject项目内WebContent目录下新建一个jsp文件就命名为index的jsp文件,创建的时候可别忘辽改名吼

4、内容写入:打开index.jsp文件,在<body>标签内写个Hello World,Ctrl+s保存一下(写程序有个好习惯很重要,别问我为什么知道orz)如下图所示

1a12b6942c383a599807fb2a99841e07.png

5、添加项目到实例:找到servers一栏(在控制台哪里),右键服务器找到add and remove一项点进去,将TestProject项目添加进去,完成后如下图所示

b4ff7a10cd8f8b750e4938ff0138c844.png

6、启动项目:右键实例,找到start选项启动服务器

7、浏览器运行:打开一个浏览器,在网址一栏输入

http://localhost:80/TestProject

或者

http://localhost:80/TestProject/index.jsp

(http://localhost:80/TestProject这个网址相当于WebContent文件目录的映射,两者是等价的)

运行结果如下:

a4478f58c2af24a5b694663de92c6665.png

注意:

1、如果将jsp文件新建在了WEB-INF目录下浏览器是访问不到的,这个目录访问级别较高,不过可以进行跳转,并不是任何的内部跳转都能访问WEB-INF:原因是跳转方式有两种:请求转发、重定向。

2、可以在web.xml文件中加上jsp文件,可以加也可以不加,如果不加的话就要在http://localhost:80/MyjspProject后边加上“/”和文件名

3、每次对web.xml、配置文件、java进行修改后都需要重启Tomcat(右键实例restart就可),但是如果是对Jsp、HTML、css、js进行修改则不需要重启

(以上就是用eclipse快速开发jsp(*^▽^*)还真是快速呢orz...简单了解一下步骤喽)

二、编码问题、jsp页面元素以及request对象

(一)编码问题

JSP要经过3次的“编码”,第1阶段会用 pageEncoding,第2阶段会用utf-8至utf-8,第3阶段就是由Tomcat出来的网页, 用的是contentType

 1、第1阶段, 是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java).

 2、第2阶段, 是由JAVAC的JAVA源码至java byteCode的编译,不论JSP编写时候用的是什么编码方案,经过这个阶段的结果全部是UTF-8的编码的java代码

 3、第3阶段, 是Tomcat(或其的application container)载入和执行阶段二的来的JAVA二进制码,输出的结果,也就是在客户端见到的,这时隐藏在阶段一和阶段二的参数contentType就发挥了功效

(二)jsp页面元素

1、脚本scriptlet

(1)<%

String name="zhangsan";

局部变量、常规java语句

%>

(2)<%!

全局变量、方法

%>

(3)<%=输出表达式%>

注意:

1、在jsp中,println是不能回车的;要想回车,需要加上</br>(把他当成一个HTML文件来写!!!)

2、再一个,在网页中显示源代码是是不会显示js代码的,只会显示输出结果

2、指令:

page指令:

<%@ page ...%>

page指令的属性:

(1)language:指定jsp页面使用的脚本语言

(2)import:导入类或包!!!(就跟java里边导入一个包一模一样)格式:import=“包名”

(3)pageEncoding:jsp文件自身编码 jsp->java

(4)contextType:浏览器解析jsp的编码

(pageEncoding和contextType保持一致)

3、注释:

HTML注释<!-- -->

java注释// /**/

jsp注释<%-- --%>

(但是在页面中查看页面源代码的时候是可以看到的,也就是客户通过浏览器可以通过查看源码所观察到)

(三)request对象

jsp9大内置对象(自带的,不需要new也能使用的对象,比如说out,就是一个内置对象)

1、out:输出对象,向客户端输出内容

2、request:请求对象,存储“客户端向服务端发送的请求”

request对象的常见方法:

(1)String getParameter(Sstring name)根据请求的字段名key,返回字段值value

(2)String getParameterValues(Sstring name)根据请求的字段名key,返回多个字段值value(checkbox)

(3)void setCharacterEncoding(“编码格式utf-8”):设置请求编码(Tomcat7以前默认iso-8859-1,以后就是utf-8)

(4)getRequestDisptcher(“b.jsp”).forward(request,response);请求转发的方式跳转页面A->B(b.jsp就是B页面,forward内的内容一般就是固定的)

(5)ServletContext getServletContext();获取项目的ServletContext对象

3、pageContext

4、response

5、session

6、application

7、config

8、page

9、exception

(其余对象,且看下回分解~出去玩了,开溜开溜)

附:(一丢丢小常识)

web.xml是java web 工程web-app目录下的配置文件,但并不是所有的项目都必须有。它是用来初始化配置信息的。如,welcome页面,servlet、servlet-mapping,filter,listener,启动加载级别等。所以如果你的项目中没有用到这些,就不用web.xml文件来配置application。

tomcat下也有 web.xml,但一般情况下,服务器调用的都是项目工程下webapp目录下WEB-INF下面的web.xml~~~而且 web.xml 都是在WEB-INF文件夹下面。

使用maven建立项目的时候,pom.xml就相当于web.xml,而setting.xml就相当于server.xml。

server.xml

这个文件位于 tomcat 6 安装目录之下的 conf 目录之内,实际内容位于 /etc/tomcat6/server.xml。

正如该文件的扩展名所示,这是一个 xml 格式的文件,打开之后将会看到如下的结构:

<Server

port

="8005"

shutdown

="SHUTDOWN"

>

<Service

name

="Catalina"

>

<Executor

...... />

<Connector

...... />

<Connector

...... />

<Engine

name

="Catalina"

... >

<Host

name

="localhost"

... >

<Context

... />

</Host>

</Engine>

</Service>

</Server>

即一个由 Server->Service->Engine->Host->Context 组成的四层结构,从里层向外层分别是:

Context: 即 Web 应用程序,一个 Context 即对于一个 Web 应用程序。

Host:即虚拟主机,比如 www.dog.com 对应一个虚拟主机,api.dog.com 对于另一个虚拟主机。一个 Host 用于定义一个虚拟主机。(所谓的”一个虚拟主机”可简单理解为”一个网站”)

Engine:一组虚拟主机的集合。比如www.dog.com 和 api.dog.com 可以组成一组虚拟主机集合。

Service:一组 Engine 的集合,包括线程池 Executor 和连接器 Connector 的定义。

在tomcat中, web.xml和 server.xml都在conf目录下

(网上偶然荡到,还挺清晰哈)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值