JavaWeb(JSP/Servlet/上传/下载/分页/MVC/三层架构/Ajax)

1Jsp:动态网页

静态、动态

1.不用 和 是否有“动感”混为一谈

2.是否 随着 时间、地点、用户操作 的改变而改变

动态网页 需要使用到 服务器脚本语言(Jsp)

2架构

CS:Client Server(客户端 服务端)

CS:不足:

a.如果软件升级,那么全部软件都需要升级

b.维护麻烦:需要维护每一台 客户端软件

c.每一客户端 都需要安装 客户端软件

 

BS:Broswer Server(浏览器 服务端)

客户端可以通过 浏览器直接访问服务端

注意:bs和cs各有优势

3.tomcat解压后目录:

bin:可执行文件(startup.bat shutdown.bat)

conf:配置文件(server.xml)

lib:tomcat以来的jar文件

log:日志文件(记录出错信息)

temp:临时文件

webapp:可执行的项目(将我们开发的项目 放入该目录)

work:存放由jsp翻译成的java,以及编辑成的class文件(jsp->java->class)

4.配置tomcat

a.配置jdk(必须配置JAVA_HOME)

java_home classPath path

b.配置catalina_home

 

双击bin/startup.bat启动tomcat,

常见错误:可能与其他服务的端口号冲突

tomcat端口号默认8080(这个端口较为常见,容易冲突),建议修改此端口

修改端口号-》conf/server.xml文件,第70行左右

5.访问tomcat

我们的项目都存放在webapp文件夹中,打开localhost:8080默认访问的是ROOT文件夹,如果要访问那个文件,就加一个文件夹名.

200:一切正常

300/301:页面重定向(跳转)

404:资源不存在

403.权限不足(如果访问a目录,但是a目录设置 不可见)

500:服务器内部错误(代码写错)

其他编码:积累

 

 

 1.使用myeclipse创建tomcat项目

打开myeclipse后需要关联tomcat,windows-》preferences-》server-》tomcat 8x,JRE(jdk包含jre);并且面板里面配置。

2.在eclipse中创建的web项目:

浏览器可以直接访问webcontent中的文件,例如http://localhost:8080/MyJspProject/

其中的index1.jsp就在WebContent目录中:

但是WEB—INF中的文件 无法通过客户端(浏览器)直接访问,只能通过请求转发来访问

注意:eclipce创建的目录结构中WebContent映射为tomcat目录结构的http://localhost:8080

 

注意:并不是任何的跳转都能访问WEB-INF,原因是 跳转有两种方式1:请求转发(y)、重定向(f)

 

3.配置tomcat运行时环境

jsp<-->Servlet

a.将tomcat/lib中的servlet-api.jar加入到项目的构建路径

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

 

4.部署tomcat

在servlet面板 新建一个tomcat实例 ,再在该实例中部署项目(右键  ->add)之后运行

注意:一般建议将eclipse中的tomcat与本地tomcat的信息保持一致,将eclipse中的tomcat设置为托管模式:【第一次】创建tomcat实例后双击该实例,选择Server Localtion的第二项

 

5.统一字符集编码

a.编码分类

设置.jsp文件的编码(.jsp文件中的pageEncoding属性):jsp-->java

设置浏览器读取jsp文件的编码(jsp文件中content属性)

一般将上诉设置成一致的编码,推荐使用utf-8

文本编码:

         i.将整个eclipse中的文件统一设置(推荐)

         ii.设置某一项目

          iii.设置单独文件

 

6.jsp的页面元素:

a.脚本Scriptlet

    i.<%     局部变量/java代码%>

   ii.<%!   全局变量 %>

   iii.<%=输出表达式%>

一般而言,修改web.xml、配置文件、java  需要重启tomcat

但是如果修改Jsp\html\css\js,不需要重启

注意,out.println()不能回车;要想回车:“<br/>”,即out.print()  <%= %>可以直接解析HTML代码

 

b.指令

page指令

<%page .....%>

page指令的属性:

language:jsp页面使用的脚本语言

import:导入类

pageEncoding:jsp

 

 

 

 

java注释//        /**/

jsp注释<%------%>

7.JSP九大内置对象(自带的,不需要new,也能使用的对象)

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

request:请求对象:储存“客户端向服务端发送的请求信息”

request对象的常用方法:

String getParameter(String name):根据请求的字段名key(input标签的name属性),返回字段值value(input标签的value属性值)

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

void setCharacterEncoding("编码格式utf-8"):设置请求编码    (tomcat7以前默认iso-8859-1,tomcat8以后改为utf-8)

getRequestDispatcher("b.jsp").forward(request,response):请求转发的方式跳转页面A    ----->B

ServletContext getServerContext():获取项目的ServletContext对象

示例:

注册 展示

 

 

response

pageContext

session

application

config

page

exception

 

posted @ 2019-06-20 17:05  疯子木  阅读(354)  评论(0编辑  收藏  举报