第十一章:MVC设计模式
什么是MVC设计模式
1)在JSP出现早期制定了两种规范,称为Model1和Model2。
2)在Model1模式中jsp同时肩负着两种角色:表示层与控制层,适应于开发简单的应用程序
3)Model2与Model1不同的是,它把Servlet拉进来做为控制层,从而提高了Web页面的可维护性和重用性
4)Mvc分为三层:模型(Mode)---View(视图)--->Control(控制器)
5)其中的模型就是数据业务层(JavaBean),视图就是Jsp(表示层),控制器(Servlet)
6)视图把请求发给控制器,控制器调用模型进行处量,然后确定用哪个视图来显示模型处理返回的数据。
7)可见控制器扮演两种角色.1:调用JavaBean.2:调用另外一个视图
8)登录页面(login.jsp)View---check(Servlet)控制器---->调用loginBean-->返回结果--->index.jsp(视图)
MVC的应用举例
1)用户登录
2)分页举例
3)商品管理
解决乱码:
String Name=new
String(request.getParameter("txtName").getBytes("iso-8859-1"));
out.print(Name);
修改web应用程序的默认页
把TomCat下面的\conf\web.xml下面最后面的如下部分,复制到Web应用程序
web.xml下面即可
<welcome-file-list>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
在web.xml中设置参数,在jsp页面读出参数
步骤
1:在web.xml中加入以下代码
<context-param>
<param-name>uid</param-name>
<param-value>chen</param-value>
</context-param>
<context-param>
<param-name>pwd</param-name>
<param-value>123</param-value>
</context-param>
2:
//jsp
application.getInitParameter("arameterName");
//servlet
request.getSession().getServletContext().getInitParameter("arameterName");
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如果不想弹出对话框来实现页面跳转:
response.sendRedirect("login.html");
如果想在弹出对话框之后,再来实现页面跳转:
都用javascript脚本
out.println("<script>alert(‘提示信息‘);window.location=‘目标页面‘</script>");
表单验证
1:对客户在客户端所填写的数据进行合法检验.
如果数据全部合法,则可以提交,
如果数据有一项不合法,就阻止提交
2:如何对表单进行验证:
步骤:
1)编写一个函数为check
2)在函数里面进行数据合法性验证
3)在表单的submit事件里面写上:
return check();
正则表达式
1:正则表达式就是一些通配符
2:
A:^:表示开始
B:表示结束
C:[]:表示在中括号里面列出任意一个字符:
比如:
[0-9]:取数字
[0-9a-z]:取数字和小写字母
[0-9a-zA-Z]:由数字和英文字母构成
[0-9a-zA-Z_-]
D:{}:表示出现的字符个数,一定要写在[]的后面
比如:
[0-9]{3}:必须是三个数字
[0-9a-zA-Z]{4}:必须要由四个数字或英文字母构成
[0-9]{2,}:必须至少由2位数字构成
[0-9a-zA-Z]{5,8}:必须由5到8位数字与英文字母构成
E:\.:相当于"."
举例:
1:用户名由5到8位数字与英文字母构成
^[0-9a-zA-Z]{5,8}$
2:符合Email
^[0-9a-zA-Z_-]{1,}@[0-9a-zA-Z]{1,}\.[a-zA-Z]{1,}$
1:一定要含有一个@
2不能在前面
3也不能在最后
4:至少含有一个.
5:.不能ai着@符号
6:.不能开头
正则表达式的使用:
if
(!表单.表单元素.value.match("正则表达式"))
{
.......
return false;
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如何配置Web应用程序使之在本机上来调试
1:在TomCat的\conf\Catalina\localhost文件夹下面创建一个与Web模块名相同的*.xml文件
代码:
<?xml version="1.0"
encoding="UTF-8"?>
<Context path="/Web模版名.."
docBase="F:\Java oop\java_excecise\..工程名..\.Web模版名.."
debug="0"
reloadable="true"
privileged="true" />
2:启动Tomcat
找到Tomcat的文件夹,找到bin\startup.bat,进行配置
在第二个横线下面写下
set
JAVA_HOME=D:\JBuilder2005\jdk1.4 [jdk的路径]