servlet学习笔记(一)
一.J2EE简介
J2EE(java 2 platform Enterprise Edition)java 2企业版。开发BS(web)应用程序就是J2EE最核心的功能。J2EE由以下13个功能模块组成:
| 常 | 用 | 四 | 个 |
| servlet web服务器小程序 | JSP页面 | JDBC数据库交互模块 | XML交互模块 |
| EJB 企业级JAVA Bean | RMI 远程调用用 | JNDI 目录服务 | JMS 消息服务 |
| JTA 事务管理 | JavaMail 发送/接收Email | JAF安全框架 | CORBA集成 |
| JTS CORBA事务监控 | |||
J2EE与Tomcat的关系:
1.J2EE是一组技术规范与指南,具体实现由软件厂商决定。
2.Tomcat是J2EE web(servlet和JSP)标准的实现者。
3.J2SE是J2EE运行的基石。运行Tomcat离不开J2SE。
servlet与Tomcat的关系:
1.servlet(server Applet)服务器小程序,主要功能用于生产动态web内容
2.Tomcat服务器相当于一个硬件(容器),serlvet是在这个容器里运行的软件。
二、servlet
标准的java web 工程结构:

servlet开发步骤:
1.创建servlet类,继承HttpServlet。
2.重写service方法,编写代码程序。
3.配置web.xml,绑定URL。
servlet请求参数:
1.请求参数是指浏览器通过请求向Tomcat提交数据。
2.请求参数通常是用户输入的数据,待servlet进行处理。
3.参数名1=值1&参数2=值2&参数n=..... (键值对)
键值对:name=leon+smith&mobile=123456&sex=male&spec=English&spec=Program&spec=Speech
一个servlet文件
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//继承HttpServlet类
public class Simpleservlet extends HttpServlet {
//这里重写了service方法,service是请求处理的核心方法,无论是get还是post都会被service()处理
public void service(HttpServletRequest request,HttpServletResponse response) throws IOException {
//接收请求request的方法名,是get还post。
String method=request.getMethod();
//接收单个参数
String name=request.getParameter("name");
String mobile=request.getParameter("mobile");
String sex=request.getParameter("sex");
//接收多个参数
String[] specs=request.getParameterValues("spec");
//文件输出流
PrintWriter out=response.getWriter();
//向浏览器输出的数据流
out.println("<h1>method:"+ method +"</h1>");
out.println("<h1>name:"+ name +"</h1>");
out.println("<h1>mobile:"+ mobile +"</h1>");
out.println("<h1>sex:"+ sex +"</h1>");
for(int i=0; i<specs.length;i++) {
out.println("<h2>spec:"+specs[i]+"</h2>");
}
out.println("<a href='http://www.baidu.com'>Baidu</a>");
}
}
一个已经配置的web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>simpleservlet</servlet-name>
<servlet-class>com.imooc.servlet.Simpleservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>simpleservlet</servlet-name>
<url-pattern>/simple</url-pattern>
</servlet-mapping>
</web-app>
一个HTML文件:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学员信息登记表</title>
</head>
<body>
<h1>学员信息登记表</h1>
<!-- 省略了http://localhost:8080 -->
<form action="/imoocservlet1/simple" method="get" >
姓名:<input name="name"/>
<br/>
电话:<input name="mobile"/>
<br/>
性别:
<select name="sex" style="width:100px;padding:5px;">
<option value="male" >男</option>
<option value="female">女</option>
</select>
<br/>
特长:
<input type="checkbox" name="spec" value="English"/>英语
<input type="checkbox" name="spec" value="Program"/>编程
<input type="checkbox" name="spec" value="Speech"/>演讲
<input type="checkbox" name="spec" value="Swimming"/>游泳
<br/>
<input type="submit" value="提交">
<br/>
</form>
</body>
</html>
servlet访问方法: http://IP地址:端口/context-path/url--mapping
例如: http://localhost:8080/imoocservlet1/simple
远程访问用IP地址,本地访问用localhost或者(127.0.0.1) context-path成为“上下文路径”,默认为工程名。

浙公网安备 33010602011771号