一个servlet如何处理多个请求
答案:4 悬赏:0
解决时间 2021-03-02 17:09
- 提问者网友:他是我的あ男人
- 2021-03-01 23:52
一个servlet如何处理多个请求
最佳答案
- 二级知识专家网友:浪女动了心
- 2021-03-02 00:31
javax.servlet.http.HttpResponse类用于产生返回页面.通过HttpResponse定义的方法getOutputStream()可以获得ServletOutputStream的实例,这样用户就可以利用ServletOutputStream.write方法向输出流中写入返回页面的内容. 但是ServletOutputStream使用的是缺省的编码方式,如果要使返回页面中的中文字 符能够正常显示,最好显示地指定所用的字符编码方式. 通常需要构造一个 OutputStreamWriter , 例程如下:
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
ServletOutputStream out = res.getOutputStream();
OutputStreamWriter ow = new OutputStreamWriter(out,"GB2312");
ow.write("这是测试");
ow.flush();
ow.close();
}
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
ServletOutputStream out = res.getOutputStream();
OutputStreamWriter ow = new OutputStreamWriter(out,"GB2312");
ow.write("这是测试");
ow.flush();
ow.close();
}
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
全部回答
- 1楼网友:年轻没有失败
- 2021-03-02 02:52
你这个样子:
首先在你的页面上放一个隐藏的表单元素.放在 <form> </form> 中
如第一个页面:
<form> <input type=hidden value= "login " name= "tiger "> </form>
第二个页面:
<form> <input type=hidden value= "main " name= "tiger "> </form>
这样的话.这个被隐藏了的是看不到的.你提交时就会把这个元素提交到服务器.在服务器中
servlet中就可以得到这个值了
在servlet中得到
你在doget或dopost方法中写上
如
public void doGet(HttpServletResquest request,HttpServletResponse response)throws ServletExcepiton,IOException
{
if (request.getParameter( "tiger ").equals( "login "))
login(request,response);
if (request.getParameter( "tiger ").equals( "main "))
main(request,response);
}
然后在这个servlet中定义两个处理方法
public void login(HttpServletResquest request,HttpServletResponse response)throws ServletExcepiton,IOException
{
out.println( "你来自login ");
}
public void main(HttpServletResquest request,HttpServletResponse response)throws ServletExcepiton,IOException
{
out.println( "你来自main ");
}
上面的隐藏表单那个也可以换成getRequestURL方法。。估计你主要的是下面的代码吧?
- 2楼网友:伤口狠精致
- 2021-03-02 01:34
servlet的生命周期:
① web服务器首先会检查是否已经装载并创建了该servlet实例对象。如果是直接进行第④步,否则执行第②步。
② 装载并创建该servlet的一个实例对象。
③ 调用servlet实例对象的init()方法。
④ 创建一个用于封装http请求消息的httpservletrequest对象和一个代表http响应消息的httpservletresponse对象,然后调用service()方法并将请求和响应作为参数传递进去。
⑤ web应用被停止或重启之前,servlet引擎将卸载servlet,在卸载之前调用servlet的destroy()方法
1. 当serlvet 第一次被调用的时候,会触发init函数,该函数会把servlet实例装载到内存.init
函数只会被调用一次
2. 然后去调用servlet 的 service 函数
3. 当第二次后访问该servlet 就直接调用 service 函数.
4. 当 web应用 reload 或者 关闭 tomcat 或者 关机 都会去调用destroy函数,该函数就
会去销毁serlvet
5. servlet的生命周期
当客户端第一次向web服务器发出一个servlet请求时,web服务器将会创建一个该servlet的实例,并且调用servlet的init()方法;如果当服务器已经存在了一个servlet实例,那么,将直接使用此实例;然后再调用service()方法,service()方法将根据客户端的请求方式来决定调用对应的doxxx()方法;当 web应用 reload 或者 关闭 tomcat 或者 关机,web服务器将调用destroy()方法,将该servlet从服务器内存中删除。 生命全过程:
加载
实例化
初始化
处理请求
退出服务
- 3楼网友:浪者不回头
- 2021-03-02 00:45
页面1:表单的action=login?method=login
页面2:表单的action=login?method=insert
.....
login为servlet类 在doPost里面先request获取method的值(即login)
然后通过method的值采用不同方法进行处理。如下
public void doPost(HttpServletRequest request, HttpServletResponse response) {
String method = request.getParameter("method");
if ("login".equals(method)) doLogin(request,response);
else if("select".equals(method)) doSelect(request,response);
else if("insert".equals(method)) doInsert(request,response);
else if("delete".equals(method)) doDelete(request,response);
else if("update".equals(method)) doUpdate(request,response);
}
public void doLogin(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |