Servlet基础
1.手工编写第一个Servlet
⑴继承HttpServlet
⑵重写doGet()或者doPost()方法
⑶在web.xml中注册Servlet
2.使用eclipse编写第一个Servlet
⑴src->new->Servlet
⑵重写doGet()或者doPost()方法
⑶部署运行
3.web.xml文档配置
<servlet>
<servlet-name>HelloServlet</servlet-name>//servlet名字
<servlet-class>servlet.HelloServlet</servlet-class>.//要访问的servlet所在的类,包括包名
</servlet>
<servlet>
<servlet-name>HelloServlet</servlet-name>//和上边的servlet名字一一对应
<url-pattern>/servlet/HelloServlet< /url-pattern >//名字叫HelloServlet的servlet的访问路径,和请求的路径地址一一对应(其中/表示当前web工程的根目录)
</servlet>
4.web服务器在于客户端交互时Servlet的工作过程
小知识点
*超链接访问的就是get请求
*PrintWrter out = response.getWriter();//PrintWriter是浏览器输出对象
response.setContentType(“text/html;charset=utf-8”);//指定输出的文件类型,使得下面的out.println()中的html代码可用;指定字符集为utf-8。
5.get方式请求HelloServlet
6.让doPost()执行与doGet()相同的操作
7.servlet的生命周期
首先创建servlet实例,先执行构造方法,再执行初始化方法,再执行doGet()方法,关闭服务器之后执行destory()方法。
8.servlet在tomcat服务器启动时就被装载
方法:在web.xml中的<servlet></servlet>标签最后加上<load-on-startup>1</ load-on-startup >中间的数字越小优先级越高。
9.servlet与JSP九大内置对象的关系
10.把注册信息提交到servlet中
*定义birthday为Date类型,而表单传过来的为String类型,需要用
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-mm-dd”);
Date birthday = sdf.parse(request.getParameter(“birthday”));
*定义favorite为字符串数组,为了获取多个复选按钮的值,表单传过来的是一个字符串数组,所以获取需要用String[] favorites = request. getParameter(“favorite”)
*定义boolean类型,如flag,表单传过来的是String类型,直接用String类型接收,然后再if(flag.equals(“true”)
{user.setFlag(true)}
Else
{ user.setFlag(false)}
*注册填写完之后的跳转界面,当把信息都存储到user对象中后,把user对象保存到session中,用request.getSession().setAttribute(“regUser”,user);再之后的跳转用request.getRequestDispatcher(跳转.jsp);
*跳转的页面:用<jsp:useBean id=”regUser”class=”entity.Users”scope=”session”>
JavaBean中的property属性用来获取属性值<jsp:getproperty name=”regUser” property=“username”>
11.servlet路径跳转问题
⑴相对路径:
例:<a href=”servlet/HelloServlet”></a>
*当使用超链接方式访问的时候,servlet前如果加/,意思是服务器的根目录,而不是项目的根目录,即Http://localhost:8080/servlet/HelloServlet。
*而web.xml文档中,<url-pattern>/servlet/HelloServlet</ url-pattern >中的/表示的是项目的根目录。
⑵绝对路径:可以采用request.getContextPath()的方式访问,它表示项目的根目录。
例:<a href=”<%= request.getContextPath() %>/servlet/HelloServlet”></a>
⑶当由servlet跳转到jsp页面时
① 请求重定向方式
request.sendRedirect(request.getContextPath()+”/test.jsp”)
② 服务器内部跳转
request.getRequestDispatcher(”/test.jsp”).forward(request.response);//此时的/代表项目的根目录
12.MVC模式
EIS为数据库
13.模型1
14.模型2-MVC思想的体现