「javawebresp」javawebresponse输出
今天给各位分享javawebresp的知识,其中也会对javawebresponse输出进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java web怎样实现分享到微信?
- 2、javaweb怎么处理中文乱码问题
- 3、javaweb不能正常向文件中写入数据
- 4、怎么用java-web获得当前登录此页面人的列表
- 5、java 中web开发servlet主要功能是什么?
- 6、java web项目,登录后获取不到session,清缓存后再登录就能获取到,linux环境经常发生,请问是啥问题?
java web怎样实现分享到微信?
微信java内嵌浏览器通过Mac远程调试iPhone上微信自己的网页分享。
具体分析如下:
所有功能必须包含在 WeixinApi.ready 中进行WeixinApi.ready(function(Api) {
// 微信分享的数据var wxData = {
"appId" : 'wx34353453332',
"imgUrl" : '',
"link" : '链接地址',
"desc" : "小伙伴们,我正在参加感恩节抽奖活动,希望能中个iPhone6,快来帮帮我吧!",
"title" : "感恩节礼物 -- iPhone6 抽到就是你的"
};
// 分享的回调
var wxCallbacks = {
// 分享操作开始之前
ready : function() {
// 你可以在这里对分享的数据进行重组
},
// 分享被用户自动取消
cancel : function(resp) {
javaweb怎么处理中文乱码问题
中文乱码问题真的是一个很棘手的问题,特别是从前台传到后台之后,都不知道问题出在哪里了。现在分享解决javaWEB中前后台中文乱码问题的3种方法。
方法一:
tomcat的自带编码是ISO-8859-1的格式,是不兼容中文的编码的。所以我们从后台接收的时候要注意。
采用相同的格式去接收(ISO-8859-1),然后用能解析的编码(utf-8)去转换。这样我们就能得到能兼容中文的格式了。这样处理之后发往前台。注意:发往前台的时候也需要设置一下
resp.setContentType("text/html;charset=utf-8");//设置页面的字符编码,解决界面显示中文乱码的问题
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//因为tomcat自带编码是ISO-8859-1格式
//解决乱码方法之一
span style="white-space:pre" /spanString name=req.getParameter("username");
span style="white-space:pre" /spanString pwd=req.getParameter("pwd");
span style="white-space:pre" /spanbyte[] b=name.getBytes("ISO-8859-1");//用tomcat的格式(iso-8859-1)方式去读。
span style="white-space:pre" /spanString str=new String(b,"utf-8");//采用utf-8去接string
span style="white-space:pre" /spanresp.setContentType("text/html;charset=utf-8");//设置页面的字符编码span style="white-space:pre" /span
span style="white-space:pre" /spanPrintWriter pw =resp.getWriter();
span style="white-space:pre" /spanString str1="htmlbodyfont size='5px' color='red'username:"+name+"pwd:"+pwd+"/font/body/html";
span style="white-space:pre" /spanpw.print(str1);
PrintWriter pw =resp.getWriter();
String str1="htmlbodyfont size='5px' color='red'username:"+name+"pwd:"+pwd+"/font/body/html";
pw.print(str1);
方法二:
由于方法一比较繁琐,采用用了简单的设置。只需要简单的一句就可以搞定
req.setCharacterEncoding("utf-8");//必须写在第一位,因为采用这种方式去读取数据,否则数据会出错。
这样就不用像之前的那样繁琐的设置了
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//因为tomcat自带编码是ISO-8859-1格式
//解决乱码二《法一比较繁琐》
req.setCharacterEncoding("utf-8");//必须写在第一位,因为采用这种方式去读取数据,否
则数据会出错。
//设置这样方式去读。这样中文就能够读取出来了,但是需要注意。表单的发送方式必须是span style="color:#ff0000;" method='post'/span
resp.setContentType("text/html;charset=utf-8");//设置传过去的页面显示的编码
String name=req.getParameter("username");
String pwd=req.getParameter("pwd");
PrintWriter pw =resp.getWriter();
String str1="htmlbodyfont size='5px' color='red'username:"+name+"pwd:"+pwd+"/font/body/html";
pw.print(str1);
方法三:
这是在法二的基础上修改的。虽然我们能修改编码格式去读,但是考虑到用户肯定不会修改,所以我们需要采用比较通用的办法,让用户修改配置文件。也就是web.xml文件
需要修改web.xml里面的内容,就是说,字符编码从xml接收过来。需要在xml文件中配置参数。
代码如下:
servlet
servlet-nameEncodeing/servlet-name
servlet-classcn.hncu.com.encode.Encodeing/servlet-class
init-param
param-namecharset/param-name
param-valueutf-8/param-value//这里面的内容可供用户自己填写(必须是编码格式)
/init-param
/servlet
我们知道前台和后台进行交换必须经过web.xml配置
我们需要获取web.xml的设置的参数
public void init(ServletConfig config) throws ServletException {
charset=config.getInitParameter("charset");//获得初始化参数。当然charset需要设置为全局变量。后面的service函数需要设置req.setCharacterEncoding(charset);
}
req.setCharacterEncoding(charset);
resp.setContentType("text/html;charset=utf-8");
String name=req.getParameter("username");
String pwd=req.getParameter("pwd");
PrintWriter pw =resp.getWriter();
String str1="htmlbodyfont size='5px' color='red'username:"+name+"pwd:"+pwd+"/font/body/html";
pw.print(str1);
javaweb不能正常向文件中写入数据
(1)ServletContext sc = this.getServletContext();
这句话不知道你认为this指的是什么?一般的写法都是从request里取ServletContext而不是从Servlet里面取,感觉应该这样写才对:ServletContext sc = req.getServletContext();
(2)sc.getRealPath("result.txt"),首先要保证有这个文件,其次,如果你将其放在WEB-INF下面要写成sc.getRealPath("\WEB-INF\result.txt");你有两个错误点:1是没有加WEB-INF这层文件夹;2是没有在文件名的最开头加“\”;
(3)FileWrite里可以直接写文件路径字符串的,不需要先转换成File的。
(4)fw.close()不要放到try里,要放到finally里,否则万一try里出了错误无法继续执行,你的fw就关不掉了。
(5)如果你是用IDE开发的比如MyEclipse等,你要注意不要到你工程的WEB-INF下面的result.txt中去查看是否已经写入,而是要到你的Tomcat下WEB-INF的result.txt中去看。因为最终IDE都是把工程部署到Tomcat下面去运行的,自然result.txt这个文件也会被复制到tomcat那边去。
怎么用java-web获得当前登录此页面人的列表
session中存放的数据只有持有这个sessionid的登陆用户自己能够看到。
application中存放的数据所有的登陆用户都可以看到。
1.
如果要在页面中看到所有登陆用户的信息的话,必须在每个用户登陆成功以后,把该用户信息存入application中。然后在jsp页面上把application中存放的所有用户列表取出来,显示在画面上,这样返回给客户端的页面上就能看到所有的登陆用户列表。
大致的代码如下:
MyServlet.java
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String userName = request.getParameter("username");
ServletContext application = req.getServletContext();
ArrayList loginList = (ArrayList)application.getAttribute("loginlist");
if(loginList == null){
loginList = new ArrayList();
application.setAttribute("loginlist",loginList);
}
loginList.add(userName);
req.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(req,resp);
}
main.jsp
%@ taglib uri="" prefix="c" %
c:forEach var="name" items="${loginlist}"
c:out value="${name}" / br
/c:forEach
2.如果只是想在页面上看到自己的登陆信息的话,需要使用session,把登陆信息存入session中,然后jsp页面从session中取出登陆用户信息,显示在画面上。
MyServlet.java:
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String userName = req.getParameter("username");
HttpSession session = req.getSession();
session.setAttribute("username",userName);
req.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(req,resp);
}
main.jsp
%@ taglib uri="" prefix="c" %
${username}
java 中web开发servlet主要功能是什么?
JavaWeb中servlet主要功能是承载网络连接,业务逻辑处理,比如一些编码格式的转换、登录拦截等,如下是详细解释:
1.servlet是一个类。最初没有jsp,只有servlet,也就是说最初的开发过程是.java-.class
后来因为html代码在servlet里写入太繁琐,加入了jsp类型。servlet单纯的处理后台程序。
在WEB-INF下的web.xml文件下:
servlet
servlet-namehello/servlet-name
servlet-classorg.lxh.servlet.HelloServlet/servlet-class///HelloServlet是类名
/servlet
servlet-mapping
servlet-namehello/servlet-name
url-pattern/servletdemo/url-pattern///当敲入本机地址后,/demo后/servletdemo会找到编译后的HelloServlet文件。
/servlet-mapping
具体例子如下:
1.先编写一个表单,建在D:/java/tomcat jsp/webdemo/servletdemo(新建一个文件夹)-
input.html
form action="input" method="get"//"post"也行
input type="text" name="ref"
input type="submit" value="提交"
/from
2.在编写InputServlet类
package org.lxh.servlet ;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
public class InputServlet extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,java.io.IOException{
String param = req.getParameter("ref") ;
System.out.println("*************"+param) ;
}
public void doPost(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,java.io.IOException{
this.doGet(req,resp) ;
}
};
3.然后编译。
4.再在web.xml中加入这些话
servlet
servlet-nameinput/servlet-name
servlet-classorg.lxh.servlet.InputServlet/servlet-class
/servlet
servlet-mapping
servlet-nameinput/servlet-name
url-pattern/servletdemo/input/url-pattern
/servlet-mapping
5.这时运行tomcat 能找到servletdemo文件夹中的input.html,点击提交按钮。
jsp技术中servlet,可以承载很多的功能,但后期如果项目业务逻辑很复杂,会导致servlet的急剧增多,不易维护,所以又发明了javaweb,将每一层的功能和逻辑都独立出来,以便于更好的维护管理。
java web项目,登录后获取不到session,清缓存后再登录就能获取到,linux环境经常发生,请问是啥问题?
你清除的是HTML文档的缓存,和session应该是没有关系的。
在浏览器里抓包看一下发出的请求头里的cookie,是否包含正确的JSESSIONID。
javawebresp的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javawebresponse输出、javawebresp的信息别忘了在本站进行查找喔。