您的位置:首页 > Web前端 > JavaScript

简单Servlet+jsp 例子的逻辑思维分析

2017-07-24 21:06 375 查看

简单Servlet+jsp 例子的逻辑思维分析

一.关于servlet的的简述:

Servlet是运行在web服务端的小程序,通过创建一个框架来扩展服务器的能力,以提供在Web上进行请求和响应服务。

原理分析:1)web服务器收到来自客户端的请求,容器产生“请求和响应”对象,并判断请求的servlet是否存在。

2)如果存在,则直接调用此Servlet对象的Service方法(间接调用doPost或doPost等方法),并将“请求和响应”对象作为参数传递;如果不存在,容器加载Servlet类,创建servlet对象并实例化,然后调用Servlet的init方法进行初始化,之后调用Service。

3)在Service方法中,通过请求对象获取客户端提交的数据并处理,然后通过响应对象将处理结果返回给客户端。

二.逻辑思维分析:

在实例项目中,就拿servlet和jsp的项目来说,首先在web.xml 添加下面对servlet的配置,在jsp中写入声明语句通过路径转入,在web.xml中找到路径所对应的servlet-name,再从而找到servlet的类名,这时候一个servlet就创建好了。

...
<web-app>
<servlet>
<servlet-name>cuisineListServlet</servlet-name>
<servlet-class>com.lanou.servlet.CuisineListServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>cuisineListServlet</servlet-name>
<url-pattern>/cuisineList</url-pattern>
</servlet-mapping>

</web-app>


接 下来我们可以在servlet中doget方法写入传递给jsp的对象,通过request.setparamer();传入参数,在jsp中通过request.getparamer();获取参数。然后通过转入跳转到jsp界面

这是cuisineServlet类

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");

CuisineDao dao = new CuisineDao();//在dao中写入数据库操作等等
List<Cuisine> list = dao.getCuisineAll();//创建并实例list,(调用dao的getCuisineAll返回一个list对象)

request.setAttribute("list", list);//把从dao中读取的list获取到request请求中
request.getRequestDispatcher("/cuisineList.jsp").forward(request,response);//跳转到cuisineList.jsp


这是cuisineList.jsp

<head>
...
<% String path = request.getContextPath(); %>
...
</head>
<body>
<a  href="<%=path %>/cuisineListServlet">
<% List<Cuisine> list = (List<Cuisine>)request.getAttribute("list"); %>//声明一个新的list类组存入从请求中传入的对象list类组
<%=list.get(1).getId() %>//读取类组第一个的list的ID属性值

</body>


结合项目分出的简单的例子 发下博客 加深下自己的理解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  servlet jsp