【JavaEE】servlet技术

接上次的JSP,这次整理servlet技术。
servlet是一种服务器端java应用程序,能动态响应客户端的情求,生成动态的web页面,servlet由servlet容器管理而不是由客户调用。

一. servlet基础编程

首先还是写一个简单的例子来理解servlet。
1. new->project project->命名为testServlet
2. 在当前项目上 右键new servlet
Package为: servlets 文件名为: hello(.java)
Options: 选Create Inherit Methods 和 Create doGet

hello.java的代码如下:

  package servlets;
//省略多个import包
public class hello extends HttpServlet {
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print( this.getClass() ); //得到servlet类名
out.println(", using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush(); out.close(); }
}
  1. 部署servlet(MyEclipse自动部署)
    查看部署WEB-Inf/web.xml
    这里写图片描述

  2. 运行servlet,启动网站,在浏览器中发出请求:
    http://localhost:8080/TestServlet/servlet/hello
    然后就会打印出结果。


二.servlet充当控制器

这里用另外一个例子介绍servlet充当控制器的做法~

前台代码index.jsp

<form action="servlet/show">
输入:
<input type="text" name="a">
<input type="submit" value="提交">
</form>

后台servlet(ahow.java)ahow.java:在doGet()方法中使用代码:

out.print("你输入的是:"+request.getParameter("a"));

注意
1. 这里可能会遇到中文显示和中文值的问题,参考我的另外一篇文章链接
2. servlet中请求的method问题,参考我的另外一篇博客链接

三、servlet session技术

获取session方法:

HttpSession session=request.getSession();

举例:

public void service(…) {
…
HttpSession session=request.getSession();
  if( session.isNew() ) {
  session.setAttribute("username", "wustzz");
  out.print("session已创建");
}
else{
  out.print("用户名="+session.getAttribute("username"));
} …
}

补充:通过超链接也可以调用servlet

    <a href="servlet/edit?id=1">编辑</a>

猜你喜欢

转载自blog.csdn.net/jiojio_/article/details/70142724
今日推荐