- Servlet(Server Applet)全称Java Servlet,是java编写的服务端程序,器主要功能在于交互式的浏览和修改数据,生成动态的Web内容.
第一个Servlet程序
1:搭建JavaWeb项目
webapp WEB-INF classes lib 静态资源文件
2:实现Servlet的开发
继承于HttpServlet ,重写service方法 配置web.xml文件
3:部署项目
<Context docBase="项目路径" path="上下文路径"/>
Servlet生命周期
init //初始化
getConfig //获取配置信息
service //执行服务
getServletInfo //获取作者和,版本等信息
destory //销毁Servlet对象
Servlet请求的流程
1:解析请求路径
2:获取web.xml文件
3:根据实例缓存池判断是否存在对象,不存在的话,根据权限定名创建servlet对象
4:调用初始化以及服务等方法
Servlet初始化参数
初始化参数是为了解决在java中的硬编码问题
在web.xml文件的<init-parpam>标签中设置name和value 即可达到在整个Servlet中使用
Servlet继承体系
都是实现于Servlet接口和ServletConfig接口
抽象类GenericServlet
抽象类HttpServlet
实现类继承于HttpServlet
用户注册案例
1:设置请求和响应的编码格式
req.setCharacterEncoding(“UTF-8”);
resp.setContentType(“text/html;charset=UTF-8”);2:获取请求参数
PrintWriter out = resp.getWriter();
String name = req.getParameter(“username”);
String pd = req.getParameter(“password”);3:页面输出 设置提交方式为post
out.print("<form action='/regist' method='post' >"); out.print("账号:<input type='text' name='username' /><br/>"); out.print("密码:<input type='password' name='password' /><br/>"); out.print("<input type='submit' value='登录'/>"); out.print("</form>");
简易计算器
实现基本的加减乘除.
1:设置请求和响应的编码格式
req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=UTF-8");
2:获取页面的请求的参数,实现运算
PrintWriter out = resp.getWriter(); String sNum1 = req.getParameter("num1"); String sNum2 = req.getParameter("num2"); String sFlag = req.getParameter("flag"); String value=""; if(hasLength(sNum1)&&hasLength(sNum2)){ Integer v1 = Integer.valueOf(sNum1); Integer v2 = Integer.valueOf(sNum2); if("+".equals(sFlag)){ value=v1+v2+""; }else if("-".equals(sFlag)){ value=v1-v2+""; }else if("*".equals(sFlag)){ value=v1*v2+""; }else { value=v1/v2+""; } }
3:输出计算器页面,设置请求的提交方式为post
out.print("<form action='/calc' method='post'>"); out.print("<input type='number' name='num1' value='"+sNum1+"' />"); out.print("<select name='flag'>"); out.print("<option>+<option>"); out.print("<option>-<option>"); out.print("<option>*<option>"); out.print("<option>/<option>"); out.print("</select>"); out.print("<input type='number' name='num2' value='"+sNum1+"' />"); out.print("<input type='submit' value='=' />"); out.print("<input type='number' name='num3' value='"+value+"' />"); out.print("</form>");