web基础--servlet的作用
说到web,首先介绍一下 HTTP协议( 超文本传输协议),是基于请求/响应模型的无状态的用于传输超文本的应用层网络协议,是我们使用互联的最常用的协议,还有一个安全超文本传输协议https,现在也使用的比较多,常用于网上银行的操作
还有一个TCP协议:传输控制协议,面向连接的,可靠的传输协议
通过客户端关键字Socket和服务端关键字ServerSocket,进行信息的交互
web程序的基本结构
Java程序打包:XXX.jar
Web程序打包:XXX.war
物理结构
/web02 Web应用程序的名字,下面可以放置html,jsp,jpg等网站资源,及分层目录
/web02/WEB-INF Web应用程序的私有目录,放置放置class与jar文件,及配置文件
/web02/WEB-INF/classes 放置class文件的目录
/web02/WEB-INF/lib 放置jar文件的目录
/web02/WEB-INF/web.xml Web应用程序的配置文件
网站的操作流程
浏览器只能直接访问WebContent目录下的文件,且不能访问WEB-INF下的文件
这时,就要用到一个新东西 Servlet
用来 接受浏览器的请求 将 处理结果响应给浏览器
如何编写Servlet
1.定义一个类继承HttpServlet
2.重写doGet doPost方法
浏览器给服务器发送请求的方式:get方式 post方式
3.给Servlet配置一个可以访问的路径(在web.xml中配置)
类的全名称:包名.类名
<servlet> <servlet-name>abcdefg</servlet-name> <servlet-class>cjl.demo.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>abcdefg</servlet-name> <url-pattern>/aaa</url-pattern> </servlet-mapping>
通过Servlet接受浏览器请求
//通过请求对象接受请求的数据
String str = request.getRequestURI();
System.out.println(str);
//接受用户提交的数据
String name = request.getParameter("name");
System.out.println(name);
通过Servlet响应浏览器
// 设置响应的字符集
response.setCharacterEncoding("GBK");
// 给浏览器响应数据
PrintWriter out = response.getWriter();
String html = "";
html += "<html><head>";
html += "<title>这是页面标题</title>";
html += "</head><body>";
html += "<h2>你请求的是我吗?</h2>";
html += "</body></html>";
//输出字符串
out.write(html);
//清空缓存
out.flush();