servlet

Servlet技术-控制层

(一)项目分层结构3层

前台后台底层
浏览器web服务器数据库服务器
谷歌浏览器Tomcat服务器Mysql服务器
Java语言Mysql(SQL)
JDBC技术Mysql(SQL)

(二)项目分层结构4层

前台控制层数据层底层
web前台web后台
视图层控制层数据层底层
Java语言Java语言Java语言Mysql(SQL)
JSP技术Servlet技术JDBC技术Mysql(SQL)

(三)web开发基本操作

Tomcat简介:是java语言编写的后台开源Web服务器。

(1)把tomcat服务器解压到d盘下
(2)创建Server服务器工程关联tomcat服务器
(3)创建web工程
(4)在WebContent下新建jsp页面(设置JSP编码:UTF-8)
(5)把web工程发布到tomcat服务器中
(6)启动tomcat服务器
(7)访问jsp页面(http://127.0.0.1:8080/web0420/a.jsp)
(8)停止tomcat服务器

(四)Servlet技术

前台后台
视图层控制层
谷歌浏览器Tomcat服务器
Servlet技术(Java)

JDBC技术:是Java数据层核心技术API【用来和底层进行交互】

Servlet技术:是Java控制层核心技术API【用来和前台进行交互】

(1)创建包com.cuiyudong.controller

(2)创建控制器Action01 extends HttpServlet

(3)生成方法(Servlet的生命周期)

注意:控制器中的方法是tomcat来调用而不是我们

Servlet控制器的生命周期分为3个阶段

第一阶段:初始化阶段:init

请求第一次达到的时候被调用。只调用一次。

第二阶段:业务阶段:service(最重要,真正执行处理请求的方法)

当请求达到的时候被调用。调用多次。

第三阶段:销毁阶段:destroy

服务器停止的时候被调用。只调用一次。

package com.zhaoyang.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

// 控制器:控制层的类
public class Action01 extends HttpServlet {
	public void init() throws ServletException {
		System.out.println("第一阶段:初始化方法,当请求第一次达到的时候被调用。只调用一次");
	}
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("第二阶段:业务处理方法,当请求达到的时候被调用。调用多次");
	}
	public void destroy() {
		System.out.println("第三阶段:销毁方法,当服务器停止的时候被调用。只调用一次");
	}
}

(4)在web.xml文件中配置控制器

<servlet>
<servlet-name>Action01</servlet-name>
<servlet-class>com.zhaoyang.controller.Action01</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Action01</servlet-name>
<url-pattern>/Action01</url-pattern>
</servlet-mapping>
1、url:统一资源定位系统,用于指定信息位置的表示方法。表示访问后台的路径,在这里用路径/Action01来访问控制器,这个路径名字可以随便起,也可以用/x表示,但是一定要有“/”;
2、同时,后台会根据/Action01(或者/x)找到它匹配的路径Action01,这个Action01也是随便起,比如z.由于/Action01(或者/x)和Action01(或者z)是一组,所以后台会通过/Action01(或者/x)找到Action01(或者z);/
3、找到了Action01,顺着Action01找到了最上面的Action01(<servlet-name>Action01</servlet-name>),这两个名字必须一样;
最后找到“com.zhaoyang.controller.Action01”,即“com.zhaoyang.controller”这个包下的类“Action01”

(5)打开浏览器访问控制器
http://127.0.0.1:8080/web0420/x
注意:web.xml修改后必须重启tomcat才会生效

(五)JSP技术 + Servlet技术综合案例(登陆模块)

登陆页面登陆控制器成功页面
a.jspLoginAction.javab.jsp

(1)登陆页面a.jsp

<h1>登录页面</h1> //标题
<form action="/web0420/g" method="post">//form是表单,action是后台路径
	用户<input name ="t1" type="text"><br>//用户名、文本框
	密码<input name ="t2" type="password"><br>//用户名、密码框
	<input type="submit" value="登录">//登录提交按钮
</form>

(2)成功页面b.jsp

<h1>登录成功</h1>

(3)编写登陆控制器LoginAction.java

package com.zhaoyang.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginAction extends HttpServlet {
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {		
        // (1)获取用户和密码,t1是用户名,t2是密码
		String t1 = req.getParameter("t1");
		String t2 = req.getParameter("t2");
		// (2)验证账号是否合法、并设置跳转的路径
		String path;
		if (t1.equals("abc") && t2.equals("123")) {
			path = "b.jsp";
		} else {
			path = "a.jsp";
		}
		// (3)跳转页面
		resp.sendRedirect(path);	
	} 
}

(4)配置web.xml

<servlet>
 <servlet-name>Login</servlet-name>
 <servlet-class>com.cuiyudong.controller.LoginAction</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>Login</servlet-name>
  <url-pattern>/Login</url-pattern>
  </servlet-mapping>

(5)编写登陆页面表单中的action属性

<h1>登录页面</h1> //标题
<form action="/web0420/Login" method="post">//form是表单,action是后台路径
	用户<input name ="t1" type="text"><br>//用户名、文本框
	密码<input name ="t2" type="password"><br>//用户名、密码框
	<input type="submit" value="登录">//登录提交按钮
</form>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YD_1989

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值