Servlet_1

1.什么是javaweb程序?
就是通过java和web技术的组合开发出来的应用程序。
web(全球广域网)
2.什么是B/S架构的程序?
B/S----B【浏览器】S【服务器】
通过浏览器来访问服务器上的程序的这种结构就是B/S架构的程序。
C/S----C【客户端】S【服务器】
3.B/S架构的程序与C/S架构的程序比较

现在我们所开发的大部分程序都是基于B/S架构的程序。
4.Web程序发展过程
早期web程序就是访问静态网页。结果是大家访问的静态网页中的内容不会随着个人需求发生变化。 【固定制式】
随着人们需求的变化,要求访问的网页中的内容要根据个人的需求而发生变化。
出现了动态网页技术,解决了要求网页中的内容要根据个人的需求而发生变化的问题。
5.常见的动态网页技术
1.CGI[通用网关接口]—动态网页技术【不支持多线程,基于进程】
2.ASP 、 PHP、Servlet/JSP—动态网页技术 [支持多线程]
ASP----C#语言
PHP—PHP的语法
Servlet/JSP—java语言
6.什么是Servlet?
用java语言编写的运行在服务器上,处理用户请求做出相应的小服务程序
7.常见的Web服务器
ApacheTomcat — 开源

IIS(Internet信息服务)英文Internet Information Server的缩写 — 微软

Weblogic — Oracle

WebSphere — IBM

我们选择ApacheTomcat服务器作为我们的Servlet程序的运行服务器。
1.开源,免费
2.完美的支持Servlet/JSP

8.ApacheTomcat服务器的下载、安装、启动、测试、关闭
ApacheTomcat服务器的下载 https://tomcat.apache.org/
ApacheTomcat服务器的安装,将下载好的压缩包解压就安装好了。

bin—保存了启动/关闭服务器的处理文件。
conf—保存了服务器配置文件【server.xml】。
lib-----保存了Servlet/jsp的开发包。
logs—服务器运行日志目录。
temp—临时文件保存目录
webapps—部署web应用程序的目录。
work—jsp转换/编译之后的java源文件/字节码文件的保存目录。
ApacheTomcat服务器的启动,找到ApacheTomcat服务器的安装目录,进入bin文件夹,双击“startup.bat”,就可以启动服务器。

ApacheTomcat服务器的测试,打开浏览器,在地址栏中输入“http://127.0.0.1:8080/”、“http://localhost:8080/”,“http://192.168.1.200:8080/”

测试地址后面“8080”是tomcat服务器默认的访问端口。
修改tomcat服务器的访问端口
1.找到ApacheTomcat服务器的安装目录,进入conf文件夹,打开server.xml文件
2.修改port属性值
< Connector port=“9090” protocol=“HTTP/1.1”
connectionTimeout=“20000”
redirectPort=“8443” />
3.http://localhost:9090/
ApacheTomcat服务器的关闭,找到ApacheTomcat服务器的安装目录,进入bin文件夹,双击“shutdown.bat”,就可以关闭服务器。
9.开发一个简单的Servlet程序部署到服务器上运行
1.打开Eclipse—file—new—Dynamic Web project
----project----web----Dynamic Web project




2.创建新类,继承HttpServlet类
3.重写doGet/doPost方法
4.doGet方法调用doPost方法

5.doPost方法方法中编写请求处理代码

package com.wangxing;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 得到输出流
		PrintWriter out = resp.getWriter();
		out.println("<html>");
		out.println("<head><meta charset=\"utf-8\"><title>Servlet</title></head>");
		out.println("<body><center></center><h1>这是我的第一个Servlet程序</h1></center></body>");
		out.println("</html>");
		out.close();
	}
}

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>TestServlet1</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
   <servlet>
    <servlet-name>testservlet</servlet-name>
    <servlet-class>ccom.wangxing.TestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>testservlet</servlet-name>
    <url-pattern>/test</url-pattern>
    
    </servlet-mapping>
</web-app>

7.基于Eclipse开发工具部署运行Servlet程序




选中服务器右键Start按钮,就启动了服务器。
打开浏览器访问测试Servlet程序。
http://localhost:8080/TestServlet1/test

8.打包程序成war包,并部署到tomcat服务器上运行。
选中项目右键Export–web—WAR file

将生成好的war包“TestServlet1.war”,复制到tomcat安装目录下的webapps文件夹中。
运行tomcat服务器,找到ApacheTomcat服务器的安装目录,进入bin文件夹,双击“startup.bat”,就可以启动服务器。
打开浏览器访问测试Servlet程序。
http://localhost:8080/TestServlet1/test
在这里插入图片描述

以下是基于 Java Servlet 的示例代码,实现了判断是否存在名为 "张三" 的 cookie,如果存在则跳转到 "success.html" 页面,否则跳转到登录页面: ```java import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.*; @WebServlet("/servlet_1") public class Servlet_1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Cookie[] cookies = request.getCookies(); boolean cookieExists = false; if (cookies != null) { for (Cookie cookie : cookies) { if (cookie.getName().equals("张三")) { cookieExists = true; break; } } } if (cookieExists) { response.sendRedirect(response.encodeRedirectURL("/servlet_1/success.html")); } else { response.sendRedirect(response.encodeRedirectURL("/servlet_1/login.html")); } } } ``` 在上面的代码中,我们首先通过 `request.getCookies()` 方法获取所有的 cookie。然后,我们遍历所有的 cookie,查找名为 "张三" 的 cookie 是否存在。如果存在,我们就调用 `response.sendRedirect()` 方法将响应重定向到 "/servlet_1/success.html" 页面;否则,我们就将响应重定向到 "/servlet_1/login.html" 登录页面。 需要注意的是,我们在调用 `response.sendRedirect()` 方法时,使用了 `response.encodeRedirectURL()` 方法对 URL 进行编码。这是因为,在某些情况下,服务器会自动给 URL 添加 session ID,以支持会话管理。使用 `response.encodeRedirectURL()` 方法可以确保 URL 能够正确地包含 session ID。 此外,在实际应用中,我们还需要编写登录页面和成功页面的代码,并对用户输入的数据进行验证和清理,以避免安全漏洞和错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值