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

初识Servlet和JSP

2016-10-04 21:51 295 查看
目前对于这两个的了解和认识,就是两个与java结合起来的web开发。对于数据信息的管理等就需要用到这两功能。

比如在网页上进行数据库信息的查询然后发到服务端上啦,进行数据库信息的增删改查啦等,之前我们在进行web设计的时候,都是基于网页的界面设计和一些表面能看到的设计,在学习了这两个之后,也就是所谓的可以进行界面和后台的连接的。对于我们起步学习,界面和后台就对应的web网页的显示与基于网页上面对应操作反射到数据库中。往后如果学习框架之后,现在理解是就可以直接把框架里面的东西拿来用,在网页上面显示,反之在网页上得到的东西也会放到框架里面。是不是这个套路呢?

Servlet先就是要说明这个东西是一个Servlet,不然就得自己重写web.xml文件配置Servlet类

之后就主要是request和response。request中包含了调用这个Servlet时的输入信息,response则是用来存放输出信息。

再加上doGet()定义这个Servlet完成的功能,doPost()就是来调用这个doGet()的。

一个基本的程序如下:

import java.io.IOException;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
import java.util.concurrent.Executor;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sun.net.httpserver.HttpContext;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

@WebServlet(
urlPatterns={"/HelloWorld"},
initParams={@WebInitParam(name="langage",value="english")})

public class HelloWorldServlet extends HttpServlet{
private static final long serialVersion=1L;

public HelloWorldServlet(){
super();
}

protected void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
out.println("Hello world!!!!!!!!!!!!!!!!!!!!!!!!."+"<br>");
out.println(request.getMethod());
}

protected void doPost(HttpServletRequest request,HttpServletResponse respones) throws IOException, ServletException {
this.doGet(null, respones);

}
}

前面所说的内容都在这个程序中完美的展示出来,总得来说Servlet也就是提供了一个web界面能和其它世界关联起来的一个桥梁

同理,JSP也是另一个桥梁。就是在HTML元素里面嵌入java代码和JSP元素,但就现在我来看感觉就是在HTML里面嵌入java代码即可,无非就是给java代码穿上了属于它的衣服,等之后继续学习再看吧。现在先来看一个简单的JSP例子

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>一个简单的JSP</title>
</head>
<body>
<table frame="border" bordercolor="black">
<tr>
<td style="border: 1px solid black;"></td>
<%
for (int i=0;i<=360;i=i+30)
{
%>
<td style="border:1px solid black;"><%=i %></td>
<%
}
%>
</tr>
<tr>
<td style="border: 1px solid black;">sin</td>
<%
for (int i=0;i<=360;i=i+30)
{
%>
<td style="border: 1px solid black">
<%=String.format("%.3f", Math.sin(i/180.0*Math.PI)) %>
</td>
<%
}
%>
</table>
</body>
</html>



试着想想,平时我们要是说请出入0°到360°常见的sin值,我们会怎么做?之前肯定都是直接在java的main()函数里面写,然后控制台输出结果。毕竟java的图形界面不好看而且又繁多。

如今这次,不仅提高了java代码少而精,高效,又可以自己方便的设置显示效果,在这么一个基础的问题面前,都可以预感到以后更多功能带给我们的体验效果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: