目录
JavaBean
Javabeans就是符合某种特定的规范的Java类。使用Javabeans的好处是解决代码重复编写,减少代码冗余,功能区分明确,提高了代码的维护性。
设计原则
- 公有类
- 无参构造方法
- 属性私有
- getter和setter方法
举例:
public class Users {
private String account;//用户名
private String password;//密码
public Users(){}
public void setAccount(String account) {
this.account = account;
}
public void setPassword(String password) {
this.password = password;
}
public String getAccount() {
return account;
}
public String getPassword() {
return password;
}
}
动作元素
JSP动作元素( action elements ),动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。
存取JavaBean有关的:
- <*jsp:useBeans>
- <*jsp:setProperty>
- <*jsp:getProperty>
useBeans
作用:在jsp页面中实例化或者在指定范围内使用javabean :
格式:
<jsp:useBean id=“标识符(引用)” class=“类名” scope=“作用范围” />
setProperty
getProperty
作用域
说明∶使用useBeans的scope属性可以用来指定javabean的作用范围。
forward
语法:<jsp:forward page=“URL”/>
等同于request.getRequestDispatcher("/url").forward(request,response);
param
语法<jap:param name=“参数名” value=“参数值”>
常常与forward动作指令一起用作为子标签
Model1
Servlet
Servlet容器等级
一个context就是一个项目
Servlet生命周期
servlet生命周期阶段包括初始化、加载、实例化、服务和销毁。
- 1.init( ),当Servlet第一次被请求时,Servlet容器就会开始调用这个方法来初始化一个Servlet对象出来,但是这个方法在后续请求中不会在被Servlet容器调用。我们可以利用init( )方法来执行相应的初始化工作。调用这个方法时,Servlet容器会传入一个ServletConfig对象进来从而对Servlet对象进行初始化。
- 2.service( ),第一次请求时,Servlet容器会先调用init( )方法初始化一个Servlet对象出来,然后会调用它的service( )方法进行工作,但在后续的请求中,Servlet容器只会调用service方法了。
- 3.destory( ),当要销毁Servlet时,Servlet容器就会调用这个方法,在卸载应用程序或者关闭Servlet容器时,就会发生这种情况,一般在这个方法中会写一些清除代码。
我们自己编写的Servlet继承了HttpServlet类,一般只需覆盖doPost或者doGet方法,不必覆盖sevrvice( )方法.因为一个sevrvice( )方法会调用doPost或者doGet方法
Servlet与九大内置对象关系
Servlet获取表单数据
对于一个表单:
<form action="Login" method="post" class="login">
<p>login</p>
<input type="text" name="account" placeholder="用户名">
<input type="password" name="password" placeholder="密码">
<input type="submit" class="btn" value="登录" align="center">
</form>
我们使用HttpServletRequest的方法获取表单数据
因为是客户端发送请求,使用request.getParameter(“name”)来获取
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("utf-8");
String account = request.getParameter("account");
String password = request.getParameter("password");
System.out.println(account);
System.out.println(password);
}
这样一来就能够获得表单数据
==值得一提的是复选框提交的数据使用getParameterValues来获得,使用字符串数组来接收:
String []str = request.getParameterValues("name");
Servlet路径跳转
<!--使用相对路径访问HelloServlet -->
<!-- /servlet/HelloServlet 第一个/表示服务器的根目录 -->
<a href="servlet/HelloServlet">访问HelloServlet!</a><br>
<!-- 使用绝对路径 访问HelloServlet,可以使用path变量:path变量表示项目的根目录-->
<a href="<%=path%>/servlet/HelloServlet">访问HelloServlet!</a><br>
<!--表单中action的URL地址写法,与超链接方式完全相同。 -->
<a href="servlet/TestServlet">访问TestServlet,跳转到Test.jsp</a>
MVC
MVC模式即Model、View、Controller,是软件开发过程中比较流行的设计思想,旨在分离模型,控制,视图。是一种分层思想的体现。
- 视图(View):用户界面。
- 控制器(Controller):业务逻辑
- 模型(Model):数据保存
1、View 传送指令到 Controller
2、Controller 完成业务逻辑后,要求 Model 改变状态
3、Model 将新的数据发送到 View,用户得到反馈
所有通讯都是单向的