Jsp我们学完也有好长一段时间了,过程中总结的一点点基础知识,拿来与初学者分享,直到最后做我们一个小小的项目,宠物医院,也是用我们最简单的工具Jcreater4.0来做的,呵,到了Ecliplse下才发现,开发速度如此之快,不过这样也打好了我们的基础....不多说了,把所学到的小小总结发来至此吧,愿给初学者带来便利,同时愿高人给以指点不足之处.....
首先来说一下我们jsp的课程:第一部分为Servlet技术,包括Servelt入门,会话跟踪,JavaMal和Servlet.第二部分就是Jsp技术,包括:jsp简介,jsp脚本和指令的使用,jsp隐式对象,JavaBean与jsp中的标准动作,jsp表达式语言,自定义标签,jsp自定义表签库.第三部分就是过滤器的设计模式,包括过滤器和MVC设计模式.
一.Servlet知识及常见错误和规律.
1.桌面运行程序与WEB应用程序在过程实质是一样的---基于请求与响应的过程.
2.http协议(超文本传输协议)
1).无状态:多次请求信息之间无联系.
2).用于internet发送请求和响应消息
3).使用端口接收和发送消息,默认为80端口.
端口:为内存缓冲区(多线程接收数据)
windows: 0---65535端口
0---4096为系统端口
3.什么是Servlet?
Server let服务器端小程序.
用来处理客户端发送的请求,并由服务器响应给客户端的java编写的程序.
Servlet只在服务器运行
4.Servlet详解:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class MyServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
response.sendRedirect("Login.jsp"); //重定向方法
request.getParameter(""); //读取客户端数据
/ /以下方法为转发,不同于重定向的是:转发时数据不丢失.
ServletContext context=this.getServletContext();
RequestDispatcher dispatcher=context.getRequestDispatcher("/welcome.jsp");
dispatcher.forward(request,response);
...//以下方法为包含(用得相对较少)
dispatcher.include(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
doGet(request,response);
}
}
(2).当需要向Servlet传递参数的时候,Src="Servlet?name=' ' ";
5.执行servlet时,发生下载提示:
(1).可能性一:text/html;charset=GBK中间分号写成逗号.
(2).可能性二:XML中配置信息出错.
(3).可能性三:如定义全局变量时,例:CONTENT_TYPED在以后所用中放在双引号之中.
(4).可能性四:当上面的text/html,charset中写错字符的时候,也会提示下载.
6执行servlet时,发生404错误:
(1).多为xml中配置出错.
(2).可能在servlet通信方法中url出错.
(3).表单提交时:action路径.
(4).比较弱智的错误就是标记写错,请仔细检查.
7.执行servlet时,发生403错误:
(1).tomcat下站点里发生错误.
8.执行servlet时,发生405错误:
(1).servlet中没有post提交方法时.
95.执行servlet时,发生500错误:
(1).多数为servlet程序代码中发生异常错误.
10.执行时,取出的数据为null.就要根据实际情况对应错误提示去找.
11.执行jsp页时,发生500错误提示....
多数为jsp页面在转译过程中发生编译错误! 甚是严重错误,可以按提示回头去找...
二.XML配置
<!--config中的配置信息,当中配置需要在servlet中的xml中-->
<servlet>
<init-param>
<param-name>sess</param-name>
<param-class>com.serv<param-class>
</init-param>
<servlet-name>Myservlet</servlet-name>
<servlet-class>com.Myservetl</servlet-class>
</servlet>
<!--此为对Myservlet进行映射-->
<servlet-mapping>
<servlet-name>Myservlet</servlet-name>
<servlet-class>/url</servlet-class>
<servlet-mapping>
<!--context中配置信息-->
<context-param>
<param-name>ses</param-name>
<param-class>com.ser</param-class>
</context-param>
注意:配置信息只能读取,并且config是在单个Servlet中能访问,context是全局访问
三.
========================会话跟踪技术总结========================
用户授权.
隐藏表单域
URL重写
Cookie使用
--------------------------------------------------------------------------------------------
1.会话:是同一客户端和服务器之间在同一段时间的多次请求和响应.
2.Session使用(重点)
HttpSession session=request.getSession();
session.setAttribute("name",Object); //附值
session.getAttribute(); //取值
session.removeAttributer();
3.Cookie(类)
1).Cookie是什么?
cookie是一段字符串,由HTTP支持,在客户端可以永久保存.写入(硬盘).
每次请求,响应中都会为cookie留有空间.
2).用法:
Cookie cookie=new Cookie("name",cookie); //必须指定cookie的键与值,且必须为字符串.
response.addcookie(cookie);
cookie.setMaxAge(3600); //以秒为单位.
//读取客户端发送过来的cookie,返回值类型为: cookie数组
request.getCookies();
//循环读取键与值.
使用过程:(1).生成cookie, new cookie("","")
(2).设置生存周期 >0,SetMaxAge(秒).
(3).发送到客户端:response.addCookie(cookie);
小常识:(1).一个网站最多向一个客户端写20个cookie.
(2).一个客户端最多接收300个cookie.
4.Session与Cookie这间的关系:
session的ID作为Cookie的值在客户端与服务器之间进行传递.
--------------------------------------------------------------------------------------------
四.构建实体Bean的原则:
/*
* 1.bean类为公有
* 2.类成员为私有
* 3.必有一个无参构造
* 4.有set()和get()方法
* 5.方法命名为setXxx()或getXxx()方法
*/
五.MVC实现数据封装
此数据封装标准按MVC总结.
所需内容: 1.Servlet 2.JavaBean 3.OperBean(DBconnection) 4.Jsp
由Servlet提取前台数据,然后将数据封装于JavaBean中,再实例化OperBean,调用OperBean中方法,
将JavaBean对象以参数的形式传过去,并进行一系列的操作后,返回数据存入ArrayList中或者其它集合内,并将集合对象封装Session对象中,便于在前台取值.
Servlet控制:
........
Arraylist lis=new ArrayList();
String name=request.getParameter("username");
JavaBean bean=new JavaBean();
bean.setName(name);
OperBean oper=new OperBean();
lis=oper.operMethod(bean);
HttpSession session=request.getSession();
session.setAttribute("list",lis);
OperBean逻辑:
...
public ArrayList OperMethod(JavaBean bean)
{
ArrayList lis=new ArrayList();
String usr=bean.getName("name");
String sql="select * from student where name='"+usr+"'";
DBconnection db=new DBconnection();
...//操作数据业务
return lis;
}
前台业务:
...
ArrayList list=(ArrayList)session.getAttribute("lis");
Iterator ite=list.iterator();
while(ite.harNext()) //遍历输出
{
JavaBean bean=(JavaBean)ite.next();
.
//取bean中值
}
//由此可以进行"用户登陆","数据的增删改查","注销登陆"等操作.....
以上所有jsp技术都是没有与struts等框架相关的,只是简单的MVC思想,只有懂得以上简单的思想,才可以进一步的对框架这些高层次的东西钻研,我感觉是如此,毕竟我也是个初学者,还有好多知识不懂,也在不停的学习之中,如果有哪个朋友有好的见意或者好的学习方法,请多多指教!
分享到:
相关推荐
42.高校信息资源共享平台|基于JSP技术+ Mysql+Java+ B/S结构高校优质数字资源信息共建共享平台(可运行源码+数据库+设计文档) 资源内容:项目全套源码+完整文档 代码都经过调试测试,确保可以运行!欢迎下载使用,...
JSP+SSM项目-高校信息资源共享平台的Java毕业设计(源码+说明).zip 本项目是一个高分通过并得到导师指导的实际案例。 可为计算机相关专业的学生提供一个毕设选题和实战练习的机会,同时也适用于需要进行课程设计或...
本项目是一套基于SSM的校园资源共享平台,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都...
高校信息资源共享平台的主要使用者分为管理员;个人中心、学生信息管理、教师信息管理、课程信息管理、教学资源管理、新闻资讯管理、学院信息管理、系统管理,教师信息;个人中心、学生信息管理、课程信息管理、教学...
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合...
从14章到最后的源代码资源 part1 为1到14章; part2 为剩下的源代码; 两部分课单独下载 书 名: JSP网络编程学习 封面 笔记 作 者:傅进勇 李波 出版社: 电子工业出版社 出版时间: 2008 全书内容分为7篇,...
资源共享,供大家学习.java学习爱好者,掌握java基础,jsp,框架
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化...这种互动式的学习方式有助于形成良好的学习氛围,促进知识的共享和传播,为计算机相关专业的学习者提供了一个全面的学习和发展平台。
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...
还有强烈提倡共享资源. 这本教程介绍了学JSP的基本要求,同时也介绍了JSP的基本语法和一些基础知识,相信能是初学者最好的选择.可惜的是只收藏到前5章.本人将继续关注并一有收藏立即上传.欢迎大家下载和分享
本资源是基于SSM(Spring+SpringMVC+MyBatis)框架开发的Java共享客栈管理系统,结合JSP技术实现前端页面展示。该项目不仅是一个完整的毕业设计作品,而且可以作为实际客栈管理系统的开发基础,具有高度的可定制性和...