第8章、JSP页面的访问控制
- 格式:ppt
- 大小:5.59 MB
- 文档页数:8
第8章新闻发布系统新闻发布系统是构成企业网站的重要组成部分,它一方面可以用来发布企业的最新公告,另外一方面可以发布与企业相关的新闻动态。
新闻发布系统一般包括添加、修改、删除以及查询新闻等功能。
8.1 网站的规划本章重点介绍建立一个具备添加、修改、删除数据库中的数据等功能的新闻发布系统的方法。
下面将分别介绍新闻发布系统的网站结构与页面设计。
8.1.1 网站结构新闻发布系统的网站结构示意图如图8-1所示,主要包括浏览者页面与管理员页面两部分,网站的首页为news.jsp。
图8-1 网站结构示意图本案例的本地站点和测试站点都架设在本地服务器。
用户既可以在Dreamweaver动态网站环境下按<F12>键预览网页,也可以在启动IE浏览器后输入网站地址http://localhost: 8080/news/news.jsp来测试网站的首页news.jsp。
8.1.2 页面设计本案例所介绍的新闻发布系统的页面包括添加公告、修改公告、删除公告等7个页面,见表8-1。
其中,浏览者只有浏览及查询公告的权限,而系统管理员则有添加、修改、删除公告信息等权限。
表8-1 新闻发布系统的页面文件8.2 数据库设计在本书所有的案例中,每个案例的文件夹下都包含一个数据库文件夹。
程序中用到的数据库均采用复制数据库文件夹的方法,还原数据库到MySQL的数据库文件夹下。
8.2.1 还原数据库1. 复制数据库文件夹到MySQL的数据库文件夹打开案例所在的文件夹,将数据库文件夹news复制到MySQL的数据库文件夹data下,如图8-2所示,即完成了数据库的还原。
图8-2 复制数据库文件夹到目标位置2. 在MySQL Query Browser中查看数据库中的表登录MySQL Query Browser,在MySQL Query Browser主界面的右侧导航中显示出已经还原的数据库news,如图8-3所示。
图8-3 已经还原的数据库双击数据库news,在展开的包含文件中显示出数据库中的数据表admins和newsdata,如图8-4所示。
jsp的功能JSP(JavaServer Pages)是一种用来开发动态Web页面的Java技术。
它可以将Java代码嵌入到HTML文档中,以实现更丰富的页面交互和动态数据展示功能。
以下是JSP的一些常见功能。
1. 动态页面生成:JSP可以根据用户请求,动态生成HTML页面,并将页面内容返回给浏览器。
这使得网页内容可以根据不同的条件和参数进行自适应的展示。
开发者可以在JSP中使用Java代码来处理用户请求,调用数据库、调用其他Java对象等。
2. 数据库访问:JSP可以直接连接数据库,并执行数据库操作。
通过使用Java的数据库连接API,JSP可以从数据库中查询、添加、修改和删除数据,然后将结果展示在Web页面上。
这可以实现数据的持久化和动态更新。
3. 表单处理:JSP可以处理用户提交的表单数据。
通过在JSP页面中定义HTML表单元素,并在表单的提交动作中指定JSP的URL,JSP可以接收表单数据,并对数据进行验证、处理和存储。
这些可以用来实现用户注册、登录、数据录入等功能。
4. 条件判断和循环:JSP支持使用Java的条件语句和循环语句。
这使得可以在JSP页面中根据不同的条件展示不同的内容,或者重复展示一段代码块。
通过使用if语句、switch语句和for循环等,可以实现更复杂的页面逻辑。
5. 页面重定向和转发:JSP可以将请求重定向到其他页面,或者将请求转发到另一个JSP或Servlet。
这使得可以在不同的页面之间进行跳转和协作,实现业务流程的分步处理。
6. 用户认证和会话管理:JSP提供了与用户认证和会话管理相关的内置对象。
通过这些对象,可以实现用户登录、注销、用户角色权限控制等功能。
同时,JSP还支持在页面级别和应用程序级别上进行会话管理。
7. 页面模板和复用:JSP支持使用页面模板和标签库进行页面复用。
可以将多个JSP页面中的公共部分抽取出来,形成一个模板文件,然后在其他JSP页面中引用该模板文件。
第4章Java Web编程习题解析4.1 第1章习题解析1. 略。
2. 答:URL称为统一资源定位符,URL通常由4部分组成:协议名称、页面所在主机的DNS名、可选的端口号和资源的名称。
URI称为统一资源标识符,是以特定语法标识一个资源的字符串。
URI由模式和模式特有的部分组成,它们之间用冒号隔开,一般格式如下:schema:schema-specific-partURI是URL和URN的超集。
3. 答:①是URL,①和②都是URI,③是URN4. 答:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术、服务器扩展技术和HTML页面中嵌入脚本技术。
其中HTML页面中嵌入脚本技术包括ASP、PHP和JSP技术。
最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。
使用JavaScript可以设计交互式页面。
与服务器端动态文档不同,JavaScript脚本是在客户端执行的。
5. 答:Servlet是用Servlet API开发的Java程序,它运行在Servlet容器中。
Servlet容器是运行Servlet的软件,主要用来扩展Web服务器的功能。
6. 答:开发Servlet的一般步骤包括:(1)编写Servlet源程序;(2)编译;(3)将Servlet部署到Servlet容器中;(4)访问执行Servlet。
7. 答:<tomcat-install>\lib\servlet-api.jar文件。
8. 答:部署描述文件名是web.xml,它是XML文件,应该存放在Web应用程序的\WEB-INF目录中。
9. 答:当服务器找不到用户请求的资源时将发生404错误。
10. 答:JSP页面是嵌入了Java脚本元素的HTML页面。
11. 答:Servlet主要用来实现业务逻辑和控制逻辑,JSP页面主要用来实现表示逻辑。
Java Web 编程习题解析第4章 4.2 第2章习题解析1. 答:Servlet 接口定义了下面5个方法:public void init(ServletConfig config)public void service(ServletRequest request, ServletResponse response) throws ServletException, IOExceptionpublic void destroy()public ServletConfig getServletConfig()public String getServletInfo()2. 答:Servlet 是在容器中运行的组件,有一个从创建到销毁的过程,其中包括加载和实例化、初始化、提供服务以及销毁几个阶段。
WEB-INF目录下的jsp页面如何访问在实际开发中,很多时候,为了加强安全性及保护源代码,需要把后台的jsp页面放在WEB-INF目录下,实际上,这个目录一般都是用于存放配置文件还有jar包,类的编译文件等因为这个目录是有权限,即有访问控制的,直接在地址栏中输入该页面的Url地址或者在页面上使用超链接是不能访问的,提示404错误,即找不文件,从而把后台页面放在这个目录下相对是比较安全的,不需要写过滤器来时行非法判断了。
常见的目录结构:webRoot----login.jsp----WEB-INF-----A------index.jsp-----B------index.jspwebRoot根目录下的文件是没有访问限制的,可以随便访问,而WEB-INF目录下的文件是不能直接通过url地址访问的如何访问WEB-INF目录下的文件:只有通过转发才能访问(forward),而通过redirect 是不能访问的方法一:因此,前面也说过,把文件放在WEB-INF目录下,该项目一般都是整合了struts 框架的,从而利用struts框架的转发功能来实现跳转到WEB-INF目录下的页面。
struts.xml 配置文件中的配置如下,<result name="success">没有添加ype="redirect"属性时,默认转发<package name="qiandl" extends="struts-default"><action name="TestJbpmAction" class="TestJbpmAction"><result name="success">/WEB-INF/web/main.jsp</result></action></package>这样,就可可访问WEB-INF目录下的文件了方法二:直接在jsp页面中,使用jsp的转发标签,即<jsp:forward page="WEB-INF/web/main.jsp"/>就可以访问了注意:不能这样写:<jsp:forward page="WEB-INF/web/main.jsp">test</jsp>这样写,相当于给转发的main.jsp页面传递参数,而这种写法不符合传递参数时的jsp:forward的写法,因此会报错如下:org.apache.jasper.JasperException:/index.jsp(27,45) Expecting "jsp:param" standard action with "name" and "value" attributes带参数的写法:<jsp:forward page="WEB-INF/web/main.jsp"><jsp:param value="" name=""/></jsp:forward>另外,如果WEB-INF目录下的文件要访问外面,即webRoot目录下的css、js文件,则在WEB-INF目录下的文件中需要使用绝对路径,才能正确的引用。
JSP页⾯的构成JSP页⾯就是带有JSP元素的常规Web页⾯,它由静态内容和动态内容构成。
其中,静态内容指HTML元素,动态内容(JSP元素)包括指令元素、脚本元素、动作元素、注释等内容。
1、指令元素指令元素主要⽤于为转换阶段提供JSP页⾯的相关信息,指令不会产⽣任何输出到当前的输出流中,它指定了有关页⾯本⾝的信息,这些信息在请求之间⼀直保持不变。
指令元素语法为<%@ directive{attr="value"}%>。
指令元素有三种:page、include、taglib。
1)page该指令⽤于整个页⾯,定义与页⾯相关的属性,它是JSP页⾯和容器的通信员,⼀般放在JSP页⾯的第⼀⾏。
与page相关的属性如下:属性描述buffer指定out对象使⽤缓冲区的⼤⼩autoFlush控制out对象的缓存区contentType指定当前JSP页⾯的MIME类型和字符编码errorPage指定当JSP页⾯发⽣异常时需要转向的错误处理页⾯isErrorPage指定当前页⾯是否可以作为另⼀个JSP页⾯的错误处理页⾯extends指定servlet从哪⼀个类继承import导⼊要使⽤的Java类info定义JSP页⾯的描述信息isThreadSafe指定对JSP页⾯的访问是否为线程安全language定义JSP页⾯所⽤的脚本语⾔,默认是Javasession指定JSP页⾯是否使⽤sessionisELIgnored指定是否执⾏EL表达式isScriptingEnabled确定脚本元素能否被使⽤a、import="导包列表",可以多次导⼊,也可以⽤逗号分隔开。
b、language=“scriptingLangeuage”,指定在脚本元素使⽤的脚本语⾔,默认是Java。
c、contentType="cinfo",指定HTTP响应的头部的Content-Type值。
《JSP实用教程(第三版)》课后答案第1章 JSP简介1.安装Tomcat引擎的计算机需要事先安装JDK吗?答:需要。
2.怎样启动和关闭Tomcat服务器?答:bin目录下使用startup.bat启动Tomcat服务器。
bin目录下使用shutdown.bat 关闭Tomcat服务器。
3. Boy.jsp和boy.jsp是否是相同的JSP文件名字?答:不是4. 请在D:\下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单JSP页面保存到该目录中,让用户使用虚拟目录fish 来访问该JSP页面。
答:设置方法:①建立D:\ water目录;②修改server.xml文件,在</host>上一行添加:<Context path="/fish" docBase="D:\ water" debug="0" reloadable="true"/>③使用http://localhost:8080/ fish /example1_1.jsp访问example1_1.jsp页面.5. 假设Dalian是一个Web服务目录,其虚拟目录为moon。
A.jsp保存在Dalian 的子目录sea中。
那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式?A.http://127.0.0.1:8080/A.jsp B. http://127.0.0.1:8080/Dalian/A.jspC. http://127.0.0.1:8080/moon/A.jspD. http://127.0.0.1:8080/moon/sea/A.jsp 答:D6.如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修改为80?答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号.若Tomcat服务器上没有其它占有80端口号的程序,可以将其修改为80,否则不能。